twisted / twisted/twisted

Log an event about LogBeginner initial buffer overflows

Open
#9,022 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement logger new priority-normal
Dominant language
Python
Stars
6k
Forks
1.2k
Avg merge
2d 10h
Merged PRs (30d)
10

Description

exarkun's avatar @exarkun reported
Trac ID trac#9022
Type enhancement
Created 2017-01-31 18:06:34Z

LogBeginner collects log events published via the global log publisher prior to the installation of any observers on that publisher.

It collects them in a buffer of finite size, dropping older events if necessary.

The typical application should register an observer before the buffer fills, providing a complete record of log activity prior to that point (startup activity related to acquiring the observer, perhaps).

However, should the buffer fill up and some events get dropped, it would be informative and useful if there were some indication of this fact - preferably in the log.

For example, at the time when the buffered events are replayed to a new observer, a new event might be synthesized and emitted to the observer before any others, giving the number of events which had to be dropped due to the limited buffer size.

Searchable metadata
trac-id__9022 9022
type__enhancement enhancement
reporter__exarkun exarkun
priority__normal normal
milestone__None None
branch__ 
branch_author__ 
status__new new
resolution__None None
component__logger logger
keywords__None None
time__1485885994361917 1485885994361917
changetime__1485886638231967 1485886638231967
version__None None
owner__None None
cc__wsanchez@...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating LogBeginner and the code or tests covering its finite event buffer and replay to a new observer. Reproduce a buffer overflow, then verify that replay emits an indication containing the number of dropped events before the buffered events; add or update the relevant tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
observability-sre
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.