Skip to content

chore(llmobs): add some JS docs and improved test utilities for a better developer experience #5401

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

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

sabrenner
Copy link
Collaborator

@sabrenner sabrenner commented Mar 12, 2025

What does this PR do?

  1. Adds a bunch of JS docs with best-effort types
  2. Fixes up some code inconsistencies (variable naming, and using for (... of ...) instead of for (... in ...)
  3. Adds some test utilities to make getting queued span events a little less verbose for plugin tests

Motivation

MLOB-2400, a better developer experience for contributing to LLMObs code

Additional Notes

We should make some fields in these classes truly private (denoted by #) instead of the legacy _, which doesn't actually leave them off the prototype, so that fields we don't want user accessing, especially on the SDK directly, are not visible, but although it's a small change, is out of scope for this PR.

Copy link

github-actions bot commented Mar 12, 2025

Overall package size

Self size: 8.94 MB
Deduped: 101.47 MB
No deduping: 101.99 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.0 | 19.26 MB | 19.26 MB | | @datadog/native-iast-taint-tracking | 3.3.0 | 13.77 MB | 13.78 MB | | @datadog/pprof | 5.5.1 | 9.79 MB | 10.17 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.4.0 | 2.77 MB | 5.42 MB | | @datadog/native-iast-rewriter | 2.8.0 | 2.6 MB | 2.74 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

Copy link

codecov bot commented Mar 12, 2025

Codecov Report

Attention: Patch coverage is 80.00000% with 3 lines in your changes missing coverage. Please review.

Project coverage is 80.65%. Comparing base (39df8d3) to head (9e9d153).
Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
packages/dd-trace/src/llmobs/writers/spans/base.js 33.33% 2 Missing ⚠️
packages/dd-trace/src/llmobs/sdk.js 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5401      +/-   ##
==========================================
+ Coverage   80.60%   80.65%   +0.04%     
==========================================
  Files         490      491       +1     
  Lines       21902    21975      +73     
==========================================
+ Hits        17654    17723      +69     
- Misses       4248     4252       +4     

☔ 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 12, 2025

Benchmarks

Benchmark execution time: 2025-03-13 14:21:43

Comparing candidate commit 9e9d153 in PR branch sabrenner/llmobs-cleanup with baseline commit 39df8d3 in branch master.

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

@datadog-datadog-prod-us1
Copy link

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

Datadog Report

Branch report: sabrenner/llmobs-cleanup
Commit report: 2fd0e65
Test service: dd-trace-js-integration-tests

✅ 0 Failed, 756 Passed, 0 Skipped, 19m 17.87s Total Time

@sabrenner sabrenner force-pushed the sabrenner/llmobs-cleanup branch from 9140bf8 to 9e9d153 Compare March 13, 2025 14:11
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.

1 participant