-
Notifications
You must be signed in to change notification settings - Fork 65
Leave kernel telemetry default unset #461
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -152,8 +152,8 @@ func buildKernelConfig(cfg *config.Config, kauth kernel.Auth) kernel.Config { | |
| // server identically with no per-backend translation. | ||
| SessionConf: cfg.EffectiveSessionParams(), | ||
| // Kernel-owned telemetry. The Go wrapper interceptor is skipped on the | ||
| // kernel path, but the kernel still needs the user's telemetry knobs and | ||
| // this binding's system identity for its own runtime. | ||
| // kernel path. Leave Telemetry nil when enableTelemetry is unset so the | ||
| // kernel's own default policy remains authoritative. | ||
| Telemetry: kernelTelemetryConfig(cfg), | ||
| DriverSystemConfiguration: kernelDriverSystemConfiguration(cfg), | ||
| } | ||
|
|
@@ -192,9 +192,9 @@ func buildKernelConfig(cfg *config.Config, kauth kernel.Auth) kernel.Config { | |
| } | ||
|
|
||
| func kernelTelemetryConfig(cfg *config.Config) *kernel.TelemetryConfig { | ||
| enabled := true | ||
| if val, isSet := cfg.EnableTelemetry.Get(); isSet { | ||
| enabled = val | ||
| enabled, enableSet := cfg.EnableTelemetry.Get() | ||
| if !enableSet { | ||
| return nil | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🟡 Medium — When a tuning knob is supplied but So tuning telemetry without also passing The new test If the intent is "tune the knobs but leave enablement to the kernel," the (Anchored to the nearest changed line — see the description for the exact location.) |
||
| } | ||
| return &kernel.TelemetryConfig{ | ||
| Enabled: enabled, | ||
|
|
||
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.
🔵 Low — When
enableTelemetryis unset but a user suppliestelemetry_batch_size/telemetry_flush_interval, this now returnsniland those tuning knobs are silently dropped (the new testkernel telemetry config is nil when enableTelemetry is unsetsetsTelemetryBatchSize=17/FlushInterval=9sand assertsTelemetry == nil, confirming the drop). This is a deliberate, documented consequence of the kernel C ABI constraint, but it sits in tension with this repo's "nothing silently ignored" contract — and unlike the sibling retry policy, which is deliberately logged at Debug inOpenSessionprecisely because forwarding is otherwise invisible, this drop leaves no trace. Consider a one-line Debug log (or a one-time warning) when tuning fields are set whileenableTelemetryis unset, so an on-call reviewer can see the knobs were intentionally not forwarded. Not a correctness bug — the behavior matches the docs; this is an observability gap.