opentelemetry-network icon indicating copy to clipboard operation
opentelemetry-network copied to clipboard

End-to-end reducer lag

Open bjandras opened this issue 1 year ago • 0 comments

Is your feature request related to a problem? Please describe.

Add internal telemetry for how much the output of the system is behind current time, i.e. end-to-end lag introduced by the pipeline.

Describe the solution you'd like

Each core keeps the current timestamp in a member variable named current_timestamp_, defined in reducer/core.h. This timestamp gets updated with timestamps coming from incoming (received) messages (see Core::handle_rpc in reducer/core.cc). Ingest cores time-stamp originating messages using the system clock (the monotonic() function). Result: current end-to-end lag can be calculated in aggregation cores as monotonic() + get_boot_time() - current_timestamp_.

We can add a new internal stat named processing_time (or processing_lag, TBD), per aggregation core.

Describe alternatives you've considered

No response

Additional context

No response

bjandras avatar Jul 24 '23 16:07 bjandras