enhancement(buffers, metrics): move data counting to the BufferUsage#23518
enhancement(buffers, metrics): move data counting to the BufferUsage#23518vparfonov wants to merge 5 commits intovectordotdev:masterfrom
Conversation
e43bd17 to
e3f1991
Compare
1e54d78 to
e859526
Compare
e859526 to
64a3bbd
Compare
64a3bbd to
f64089a
Compare
bruceg
left a comment
There was a problem hiding this comment.
I am finding this hard to review at anything more than a surface level because it seems to be changing a lot of aspects in this area at once with little understanding of how it got here. Since this is a very subtle area that has had serious issues in the past (and arguably currently), I would prefer seeing an approach that was much more incremental, where each change preserves the desired behavior while making a single change. That may end up with the same result as what we see here, but it would help understanding how it got to this point by breaking down the steps in separate commits or even separate PRs.
changelog.d/23518_improve_buffer_metrics_architecture_removing_global_state.enhancement.md
Outdated
Show resolved
Hide resolved
79e4f92 to
c5bffca
Compare
Signed-off-by: Vitalii Parfonov <vparfono@redhat.com>
Signed-off-by: Vitalii Parfonov <vparfono@redhat.com>
Signed-off-by: Vitalii Parfonov <vparfono@redhat.com>
Signed-off-by: Vitalii Parfonov <vparfono@redhat.com>
c5bffca to
c33008b
Compare
Signed-off-by: Vitalii Parfonov <vparfono@redhat.com>
|
@bruceg Please take a look, i try to break down the changes in separate commits |
|
@vparfonov I followed up on the previous work on this area in #23542 and I would appreciate your review on it as well. As mentioned, I tried to work very incrementally to avoid changing anything accidentally, but the result doesn't entirely make sense to me. |
|
@vparfonov thank you for your efforts in this area and for contributing to Vector. Much appreciated! |
Thank you for your help! |
|
Close it in favor of #23561 |
Summary
This PR refactors the buffer usage metrics system to eliminate the global
DashMap(BUFFER_COUNTERS) and centralize the state management logic. The new design localizes all gauge state within theBufferUsageinstance and its dedicated reporting task.The global static
DashMapand the associatedupdate_buffer_gaugefunction have been completely removed.Change Type
Is this a breaking change?
Does this PR include user facing changes?
no-changeloglabel to this PR.References