Remove LogEvent SequenceID or change to 64 bit ?
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- csharp
- Domain
- observability-sre
Research direction
Start by reading issue #4139 and comparing the SequenceID and Counter layout-renderer wiki pages. Trace how SequenceID is incremented and consumed, then define whether the completed work removes it, merges the renderers, or changes its range; completion requires an agreed direction and corresponding tests.
Written by the indexing model from the issue text.
Description
Random thoughts after looking at #4139. And the overhead from synchronizing cpu-caches to atomically increment a counter that very few people uses, and unexpectedly can become negative after some days.
Lets say we have an application that handles 10.000 requests/sec. This application writes a single logevent for each request.
This means the application will write 36..000.000 logevents/hour. And 864.000.000 logevents/day.
Right now the SequenceID is an integer and can hold 2,147,483,647 events, before it becomes negative. So that is 3 days without restarts. Many applications often run 7 days without restarts.
Maybe the SequenceID-property should only increment when calling the propery-getter? (Skip on constructor)
Maybe https://github.com/NLog/NLog/wiki/SequenceId-layout-renderer should be replaced by https://github.com/NLog/NLog/wiki/Counter-layout-renderer ? (Merge into one)
- Dominant language
- C#
- Stars
- 6.5k
- Forks
- 1.4k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 34
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from NLog/NLog
-
documentation
Difficulty 2/5 Half a day Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
discussion
Difficulty 1/5 Under an hour Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
DateLayoutRenderer default Format should be culture invariantPossibly taken @HarnageaGabriel claimed this 88 days ago. Openbreaking behavior change breaking change
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Maintainers usually reply within 1 day
-
Difficulty 3/5 Half a day Newbie friendliness 38/100
Maintainers usually reply within 1 day
-
Move to slnxOpen
Difficulty 3/5 1-2 days Newbie friendliness 25/100
Maintainers usually reply within 1 day
Similar issues
-
[中] 更新器下载缓存从不清理Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Remove duplicate Vimeo DI registration; use NimblePros.Vimeo AddVimeoServices and upgrade packageOpen
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
DevBetterCom/DevBetterWeb#1486 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
NimblePros/eShopOnWeb#333 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Natvs/Nt.Automaton#33 ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100