-
Notifications
You must be signed in to change notification settings - Fork 437
perf(telemetry): batch telemetry events into one request #13354
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?
Conversation
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 237 ± 3 ms. The average import time from base is: 239 ± 3 ms. The import time difference between this PR and base is: -2.2 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
BenchmarksBenchmark execution time: 2025-05-09 17:38:19 Comparing candidate commit 8a2456a in PR branch Found 2 performance improvements and 1 performance regressions! Performance is the same for 425 metrics, 6 unstable metrics. scenario:iast_aspects-ospathsplitdrive_aspect
scenario:telemetryaddmetric-flush-100-metrics
scenario:telemetryaddmetric-flush-1000-metrics
|
e9d9fc7
to
4ee8b1e
Compare
Blocked by: #13391 |
Previously, ddtrace sent a separate synchronous request for each telemetry event (e.g., app-started, config-changed, dependencies-loaded). In the worst case, we would have sent over 16 requests per minute (6 log events, 6 metric events, 1 configuration event, 1 app started event, etc.) but the typical number was 6–10 per minute.
With this change we will batch all telemetry events queued in the telemetry interval (default: 60 seconds) into on e request using the
message-batch
request type. This will reduce overhead by sending instrumentation telemetry events.Checklist
Reviewer Checklist