dd-trace-js icon indicating copy to clipboard operation
dd-trace-js copied to clipboard

chore(llmobs): clean up llm observability span tagger

Open sabrenner opened this issue 2 months ago • 3 comments

What does this PR do?

Cleans up the LLM Observability span tagger for a better (hopefully) devex by

  1. Adding typing where possible
  2. Making all functions and members private
  3. Modifies the ai integration, which was doing some weird stuff with setting items directly on the tagger registry
  4. Cleaning up tests to use the actual tagger API as would be used by functions of the public LLM Observability API or auto-instrumentation

This is all kosher since this is an internal API

Motivation

A better developer experience and cleaner code. I will also try and take this to other files in the packages/dd-trace/src/llmobs directory in other follow-up PRs

sabrenner avatar Oct 22 '25 13:10 sabrenner

Overall package size

Self size: 13.15 MB Deduped: 115.94 MB No deduping: 118.15 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.7.0 | 35.02 MB | 35.02 MB | | @datadog/native-appsec | 10.3.0 | 20.73 MB | 20.74 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @datadog/pprof | 5.11.1 | 9.96 MB | 10.34 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.4 | 2.95 MB | 5.82 MB | | @datadog/wasm-js-rewriter | 4.0.1 | 2.85 MB | 3.58 MB | | @opentelemetry/resources | 1.9.1 | 306.54 kB | 1.74 MB | | @datadog/native-metrics | 3.1.1 | 1.02 MB | 1.43 MB | | @opentelemetry/api-logs | 0.207.0 | 201.39 kB | 1.42 MB | | @opentelemetry/api | 1.9.0 | 1.22 MB | 1.22 MB | | jsonpath-plus | 10.3.0 | 617.18 kB | 1.08 MB | | import-in-the-middle | 1.15.0 | 127.66 kB | 856.24 kB | | lru-cache | 10.4.3 | 804.3 kB | 804.3 kB | | @datadog/openfeature-node-server | 0.1.0-preview.12 | 95.11 kB | 401.68 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | source-map | 0.7.6 | 185.63 kB | 185.63 kB | | pprof-format | 2.2.1 | 163.06 kB | 163.06 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 | 7.0.5 | 63.38 kB | 63.38 kB | | istanbul-lib-coverage | 3.2.2 | 34.37 kB | 34.37 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | dc-polyfill | 0.1.10 | 26.73 kB | 26.73 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | shell-quote | 1.8.3 | 23.74 kB | 23.74 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 | | mutexify | 1.4.0 | 5.71 kB | 8.74 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | module-details-from-path | 1.0.4 | 3.96 kB | 3.96 kB |

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

github-actions[bot] avatar Oct 22 '25 13:10 github-actions[bot]

Codecov Report

:x: Patch coverage is 96.15385% with 2 lines in your changes missing coverage. Please review. :white_check_mark: Project coverage is 84.06%. Comparing base (c0874b3) to head (5a4ba09). :warning: Report is 6 commits behind head on master.

Files with missing lines Patch % Lines
packages/dd-trace/src/llmobs/tagger.js 95.34% 2 Missing :warning:
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #6722   +/-   ##
=======================================
  Coverage   84.06%   84.06%           
=======================================
  Files         506      506           
  Lines       21211    21213    +2     
=======================================
+ Hits        17830    17832    +2     
  Misses       3381     3381           

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

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

codecov[bot] avatar Oct 22 '25 19:10 codecov[bot]

Benchmarks

Benchmark execution time: 2025-10-28 15:36:39

Comparing candidate commit 5a4ba094bb2173b86357161fbfb972f63ef15133 in PR branch sabrenner/clean-up-llmobs-private-tagger-members with baseline commit c0874b3c1c511fdb51d3b1cf42db4b78337e57cb in branch master.

Found 0 performance improvements and 1 performance regressions! Performance is the same for 1604 metrics, 65 unstable metrics.

scenario:shimmer-runtime-declared-wrapfn-20

  • 🟥 cpu_user_time [+2.108ms; +5.249ms] or [+6.628%; +16.504%]

pr-commenter[bot] avatar Oct 24 '25 16:10 pr-commenter[bot]