-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[processor/deltatocumulative]: Sums #30707
Conversation
internal/metrics: primitives for working on a generalized idea of metrics internal/streams: primitives for working on streams internal/delta: delta sum aggregation
emits aggregated metrics on a configured interval to the next consumer.Metrics
drops ooo support for now, which eliminates the need for sophisticated grouping that was present before. this radically simplifies the core part of this exporter. ooo support will be added back by queueing and sorting delta samples instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please see comments. I think I identified a bug.
Tests would also be welcome, in order to be able to evaluate the code.
@RichieSams would you be interested in becoming second CODEOWNER on this component? More than happy to do the same for your intervalprocessor, keeping the current engineering focus split :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, only a couple of minor improvements.
processor/deltatocumulativeprocessor/internal/delta/delta_test.go
Outdated
Show resolved
Hide resolved
@djaglowski @RichieSams please take a final look :) |
That's a great idea. Let's do both. |
Code / algorithm looks good to me. Question: When #31017 is merged, do you plan to refactor this code to utilize the new types? |
yes absolutely, just didn't want to introduce more blocking inter-dependencies for now! |
Adds a new internal, _experimental_ package `metrics/identity` which implements identity types for resource, scope, metric and stream. This is closely related to work being done in #30707 and #30827. The package is specifically experimental, as it shall be treated as an internal component to above processors which may change at any moment as long as those are under active initial development. /cc @jpkrohling @djaglowski @RichieSams
**Description:** Implements major component functionality: - [x] metrics identification (`metrics.Ident`) and stream identification (`streams.Ident`) - [x] abstract data layer `data.Point` that keeps processing code data type (sum, histogram, exp histogram) agnostic - [x] `delta.Accumulator` stream processor for accumulating any `data.Point` **Link to tracking Issue:** open-telemetry#30705 **Testing:** Done **Documentation:** <kbd>TODO</kbd>
Adds a new internal, _experimental_ package `metrics/identity` which implements identity types for resource, scope, metric and stream. This is closely related to work being done in open-telemetry#30707 and open-telemetry#30827. The package is specifically experimental, as it shall be treated as an internal component to above processors which may change at any moment as long as those are under active initial development. /cc @jpkrohling @djaglowski @RichieSams
Description:
Implements major component functionality:
metrics.Ident
) and stream identification (streams.Ident
)data.Point
that keeps processing code data type (sum, histogram, exp histogram) agnosticdelta.Accumulator
stream processor for accumulating anydata.Point
Link to tracking Issue: #30705
Testing: Done
Documentation: TODO