-
Notifications
You must be signed in to change notification settings - Fork 65
Channel metrics #1697
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
base: main
Are you sure you want to change the base?
Channel metrics #1697
Conversation
# Conflicts: # rust/otap-dataflow/crates/otap/src/otap_exporter.rs # rust/otap-dataflow/crates/otap/src/otap_grpc/client_settings.rs
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1697 +/- ##
==========================================
- Coverage 84.43% 84.00% -0.44%
==========================================
Files 465 466 +1
Lines 135552 136570 +1018
==========================================
+ Hits 114460 114731 +271
- Misses 20558 21305 +747
Partials 534 534
🚀 New features to boost your workflow:
|
| #[serde(default)] | ||
| format: Option<OutputFormat>, | ||
| /// When true, metric set which have all zero values are kept in the output. Default: false. | ||
| #[serde(default = "default_false")] |
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.
I introduced this flag to monitor unused channels. This is useful for analyzing DAG creation and detecting inactive subgraphs in the DAG.
| // Create NodeUserConfig and wrap as local processor | ||
| let user_config = Arc::new(NodeUserConfig::new_processor_config(SIGNAL_TYPE_ROUTER_URN)); |
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.
This statement was a default node configuration which is incorrect.
|
|
||
| let retry = RetryProcessor::with_pipeline_ctx(pipeline_ctx, config)?; | ||
|
|
||
| let user_config = Arc::new(NodeUserConfig::new_processor_config(RETRY_PROCESSOR_URN)); |
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.
This statement was a default node configuration which is incorrect.
This PR introduces channel sender/receiver metric sets (send/recv counts and error counts, plus capacity) and a consolidated ChannelAttributeSet including channel kind/mode/type/impl and node URN. A new
TelemetrySettings.channel_metricsflag gates registration/reporting to avoid overhead when disabled.I also added few additional
otel_debug!to help diagnose pipeline initialization and creation.I didn't observe any performance regression.
Channel attributes:
Channel metrics:
PS: I will introduce latency metrics once we have a support for histograms.