Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

sabrenner
Copy link
Collaborator

What does this PR do?

Make sure functionId of the experimental_telemetry property is respected for both APM and LLM Observability spans. This means, if provided:

  1. It should be the resource.name for APM spans
  2. It should be a prefix for the LLM Observability span name

With some manual testing of this script

const { generateText } = require('ai')

async function main () {
  await generateText({
      model: openai("gpt-4o-mini"),
      prompt: "What is best in life?",
      experimental_telemetry: {
        isEnabled: true,
        functionId: 'my-cool-span'
      }
    })
}

main()

APM trace

Image

LLM Observability trace

Image

Motivation

Closes #6352

Copy link

codecov bot commented Sep 25, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.08%. Comparing base (2263be2) to head (40b94c3).
⚠️ Report is 6 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #6524      +/-   ##
==========================================
+ Coverage   84.07%   84.08%   +0.01%     
==========================================
  Files         483      484       +1     
  Lines       20258    20278      +20     
==========================================
+ Hits        17031    17050      +19     
- Misses       3227     3228       +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.

Copy link

github-actions bot commented Sep 25, 2025

Overall package size

Self size: 12.47 MB
Deduped: 112.56 MB
No deduping: 112.96 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.7.0 | 35.02 MB | 35.02 MB | | @datadog/native-appsec | 10.2.1 | 20.64 MB | 20.65 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @datadog/pprof | 5.10.0 | 9.91 MB | 10.3 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.4 | 2.95 MB | 5.6 MB | | @datadog/wasm-js-rewriter | 4.0.1 | 2.85 MB | 3.58 MB | | @datadog/native-metrics | 3.1.1 | 1.02 MB | 1.43 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.14.3 | 123.61 kB | 852.19 kB | | lru-cache | 10.4.3 | 804.3 kB | 804.3 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 | | koalas | 1.0.2 | 6.47 kB | 6.47 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

@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Sep 25, 2025

✅ Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 40b94c3 | Docs | Was this helpful? Give us feedback!

@pr-commenter
Copy link

pr-commenter bot commented Sep 25, 2025

Benchmarks

Benchmark execution time: 2025-09-26 15:46:10

Comparing candidate commit 40b94c3 in PR branch sabrenner/vercel-ai-function-id with baseline commit 2263be2 in branch master.

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

@sabrenner sabrenner marked this pull request as ready for review September 25, 2025 19:40
@sabrenner sabrenner requested a review from a team as a code owner September 25, 2025 19:40
@BridgeAR BridgeAR merged commit 55254c6 into master Sep 27, 2025
818 of 821 checks passed
@BridgeAR BridgeAR deleted the sabrenner/vercel-ai-function-id branch September 27, 2025 07:44
dd-octo-sts bot pushed a commit that referenced this pull request Sep 28, 2025
…ations (#6524)

* fix for ai apm spans to respect functionId as resource name

* add functionId to llmobs span name
This was referenced Sep 28, 2025
dd-octo-sts bot pushed a commit that referenced this pull request Oct 1, 2025
…ations (#6524)

* fix for ai apm spans to respect functionId as resource name

* add functionId to llmobs span name
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.

[BUG]: AI SDK experimental_telemetry.functionId is ignored
2 participants