-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
Swap events_processed_total for events in/out totals #6367
Comments
Copied from #6294 (comment) Good thoughts @jszwedko 👍 In the context of the API.. would you imagine both in/out metrics being available? Do you have an opinion on which would be the more compelling stat for top? (thinking, given the limited screen real estate, we might prefer one over the other.) |
@leebenson thanks for taking a look! For the API, I would imagine making both available. For |
Makes sense, thanks 👍 |
Source It would be great for sink For source To ease the the transition, we can:
|
For additional context, |
Agreed 👍
Also agreed 😄 The plan you outlined sounds good. |
Just noting that we should probably delay this last step:
For at least a release or two after we introduce |
Should we update |
Yes, that's the next step. I'll open an separate issue for it.
It will add some overhead too changing the api of graphql api, but I think not so much that we can't keep it until then.
|
Extracted from comment: #6294 (review)
Currently we report
processed_events_total
in various places:However, there are a few issues with reporting a single metric for this:
reduce
transform, for example, when is an event processed? When it is received by the transform? Or when it has emitted a reduced event? Forlua
andwasm
transforms, we truly never really know when an event has been "processed".For both of these reasons, I propose that instead of having a singular
events_processed_total
metric that each component reports, we instead report separate in and out metrics. These would be called:events_in_total
: counts the events that been accepted by the components. For transform and sink components, we could emit at the topology layer similar as you are doing now, for source components, I think this metric is less useful, but the sources themselves could emit as they parse events, but before they flush them downstream.events_out_total
: counts the events that have been emitted by the component, For the source and transform components, we could emit at the topology layer similar as you are doing now. For sink components, I think this metric is still useful given that sinks commonly do batching so it is useful to know the number of events that have actually been flushed to the external system. I think this would require instrumentation by each sink or possibly in the batching layer.And that we remove the
events_processed_total
metric.I think this would clearly convey that these are simply events going in and out of components rather than when an event has been "processed", which can be ambiguous. It would also make it easy to see when transforms either reduce events by combining them or create a number of events from a single event.
This has implications for vector top so I'm curious what @leebenson thinks. I think we could just have separate columns for in/out rather than one throughput column.
Ref: #5595
The text was updated successfully, but these errors were encountered: