chore: add some shared llm-type plugin utilities#5109
Merged
Conversation
Contributor
Overall package sizeSelf size: 8.52 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.4.0 | 29.44 MB | 29.44 MB | | @datadog/native-appsec | 8.4.0 | 19.25 MB | 19.26 MB | | @datadog/native-iast-taint-tracking | 3.2.0 | 13.9 MB | 13.91 MB | | @datadog/pprof | 5.4.1 | 9.76 MB | 10.13 MB | | protobufjs | 7.2.5 | 2.77 MB | 5.16 MB | | @datadog/native-iast-rewriter | 2.6.1 | 2.59 MB | 2.73 MB | | @opentelemetry/core | 1.14.0 | 872.87 kB | 1.47 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.11.2 | 112.74 kB | 826.22 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.0 | 109.9 kB | 109.9 kB | | semver | 7.6.3 | 95.82 kB | 95.82 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.1 | 51.46 kB | 51.46 kB | | shell-quote | 1.8.1 | 44.96 kB | 44.96 kB | | istanbul-lib-coverage | 3.2.0 | 29.34 kB | 29.34 kB | | rfdc | 1.3.1 | 25.21 kB | 25.21 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | dc-polyfill | 0.1.4 | 23.1 kB | 23.1 kB | | retry | 0.13.1 | 18.85 kB | 18.85 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 |
BenchmarksBenchmark execution time: 2025-01-23 14:06:15 Comparing candidate commit 1e6665c in PR branch Found 1 performance improvements and 0 performance regressions! Performance is the same for 907 metrics, 25 unstable metrics. scenario:plugin-graphql-with-depth-and-collapse-on-18
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #5109 +/- ##
===========================================
+ Coverage 61.24% 75.66% +14.41%
===========================================
Files 289 292 +3
Lines 13586 13685 +99
===========================================
+ Hits 8321 10355 +2034
+ Misses 5265 3330 -1935 ☔ View full report in Codecov by Sentry. |
7 tasks
…r/llm-plugin-utils
tlhunter
reviewed
Jan 23, 2025
tlhunter
approved these changes
Jan 28, 2025
szegedi
pushed a commit
that referenced
this pull request
Jan 30, 2025
* wip utilities * fixes * add tests * update comment * update * add math.random stubs to test hooks * fix
Merged
szegedi
pushed a commit
that referenced
this pull request
Jan 30, 2025
* wip utilities * fixes * add tests * update comment * update * add math.random stubs to test hooks * fix
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Adds utilities for llm-based APM tracing plugins for span tags: truncation/normalization and prompt/completion sample rate.
Note that for
openai, we changed the name of one config to better respect the namespacing of each config. Additionally, we are not adding the prompt/completion sample rate foropenaiin this PR - if needed, it can be done in a separate PR.Aside: I considered making an
LlmPlugintype extendingTracingPluginthat would just have these methods on their prototype and read from the tracer config in the constructor, but this won't work well for AWS bedrock (which is already a base AWS plugin type), which we'll be updating after this PR lands. It additionally also would've been weird for LangChain (as the handlers are a property of the plugin and not an extension, so the functionality would've had to have been passed as a constructor arg).Motivation
We'll be adding more APM integrations for llm-based libraries, and they'll need these helpers to reduce code duplication.