Skip to content

fix(llmobs): send batches of span events #5493

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

Merged
merged 4 commits into from
Apr 7, 2025
Merged

Conversation

lievan
Copy link
Contributor

@lievan lievan commented Mar 27, 2025

What does this PR do?

Update spans to be sent as a batch of events. Each event contains one span, allowing us to send spans up to 1MB (the event size limit).

Manual verification
10/10 900kb spans appear

Motivation

This was a limit we assumed previously, but we were actually under a 1MB limit per payload/batch of spans limit since the payload we sent to EVP intake was being treated as a single event.

Plugin Checklist

Additional Notes

Copy link

codecov bot commented Mar 27, 2025

Codecov Report

Attention: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.

Project coverage is 79.26%. Comparing base (ca02e1d) to head (575d95d).
Report is 5 commits behind head on master.

Files with missing lines Patch % Lines
packages/dd-trace/src/llmobs/writers/spans/base.js 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5493      +/-   ##
==========================================
- Coverage   79.35%   79.26%   -0.09%     
==========================================
  Files         514      512       -2     
  Lines       23271    23176      -95     
==========================================
- Hits        18467    18371      -96     
- Misses       4804     4805       +1     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pr-commenter
Copy link

pr-commenter bot commented Mar 27, 2025

Benchmarks

Benchmark execution time: 2025-04-07 14:05:18

Comparing candidate commit 575d95d in PR branch evan.li/batch-span-events with baseline commit ca02e1d in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 947 metrics, 16 unstable metrics.

Copy link

github-actions bot commented Mar 27, 2025

Overall package size

Self size: 9.24 MB
Deduped: 101.55 MB
No deduping: 102.06 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.5.0 | 29.83 MB | 29.83 MB | | @datadog/native-appsec | 8.5.1 | 19.26 MB | 19.27 MB | | @datadog/native-iast-taint-tracking | 3.3.0 | 13.77 MB | 13.78 MB | | @datadog/pprof | 5.6.0 | 9.79 MB | 10.16 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.4.0 | 2.77 MB | 5.42 MB | | @datadog/wasm-js-rewriter | 3.1.0 | 2.37 MB | 2.52 MB | | @datadog/native-metrics | 3.1.0 | 1.06 MB | 1.46 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.13.1 | 117.64 kB | 839.26 kB | | source-map | 0.7.4 | 226 kB | 226 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | lru-cache | 7.18.3 | 133.92 kB | 133.92 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.1 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.2 | 53.63 kB | 53.63 kB | | istanbul-lib-coverage | 3.2.0 | 29.34 kB | 29.34 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | dc-polyfill | 0.1.6 | 24.56 kB | 24.56 kB | | shell-quote | 1.8.2 | 23.54 kB | 23.54 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | semifies | 1.0.0 | 15.84 kB | 15.84 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | ttl-set | 1.0.0 | 4.61 kB | 9.69 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | module-details-from-path | 1.0.3 | 4.47 kB | 4.47 kB |

🤖 This report was automatically generated by heaviest-objects-in-the-universe

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Mar 27, 2025

Datadog Report

Branch report: evan.li/batch-span-events
Commit report: f1ee170
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 920 Passed, 0 Skipped, 8m 42.69s Total Time

@lievan lievan marked this pull request as ready for review April 7, 2025 14:01
@lievan lievan requested a review from a team as a code owner April 7, 2025 14:01
@lievan lievan merged commit ded5a77 into master Apr 7, 2025
427 checks passed
@lievan lievan deleted the evan.li/batch-span-events branch April 7, 2025 14:35
@wconti27 wconti27 mentioned this pull request Apr 8, 2025
wconti27 pushed a commit that referenced this pull request Apr 8, 2025
* batch span events

* try to fix test

---------

Co-authored-by: lievan <[email protected]>
wconti27 pushed a commit that referenced this pull request Apr 9, 2025
* batch span events

* try to fix test

---------

Co-authored-by: lievan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants