Skip to content

feat(otel): add support for scope metrics#7063

Merged
mabdinur merged 1 commit intomasterfrom
munir/add-support-for-scope-attributes
Dec 10, 2025
Merged

feat(otel): add support for scope metrics#7063
mabdinur merged 1 commit intomasterfrom
munir/add-support-for-scope-attributes

Conversation

@mabdinur
Copy link
Copy Markdown
Contributor

@mabdinur mabdinur commented Dec 9, 2025

What does this PR do?

Adds support for setting attributes on the instrumentation scope when creating meters via getMeter(). Attributes set at the meter level are included in the exported OTLP scope and apply to all metrics created by that meter.

Motivation

The OpenTelemetry specification supports setting attributes on the meter level (in addition to resource and individual metric levels). This was introduced in v1.13.0 of the opentelemetry spec. This allows users to avoid repeating attributes across multiple metric calls. While the OpenTelemetry JS API doesn't support this property (link), we're adding it to align with the spec and maintain compatibility with other SDKs.

This gap was detected by system tests.

Additional Notes

  • The attributes parameter is optional: getMeter(name, version, { schema_url, attributes: {...} })
  • Attributes are included in the exported OTLP scope metrics:
{
  "resourceMetrics": [
    {
      "resource": {"attributes": [{...}],
      "scopeMetrics": [
        {
          "scope": {"name": "app", "version": "", "schemaUrl": "",
            "attributes": [{"key": "username","value": { "stringValue": "test" }},{"key": "id", "value": { "intValue": 23 }}
            ],
          },
          "metrics": [
            {
              "name": "num.monkies",
              // ... metric data
            },
            {
              "name": "num.baboons",
              // ... metric data
            }
          ]
        }
      ]
    }
  ]
}

Plugin Checklist

Additional Notes

@mabdinur mabdinur requested a review from a team as a code owner December 9, 2025 17:37
@mabdinur mabdinur requested review from khanayan123 and removed request for a team December 9, 2025 17:37
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Dec 9, 2025

Overall package size

Self size: 13.62 MB
Deduped: 113.82 MB
No deduping: 128.83 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/pprof | 5.12.0 | 11.19 MB | 11.57 MB | | @datadog/native-iast-taint-tracking | 4.1.0 | 9.01 MB | 9.02 MB | | @opentelemetry/resources | 1.30.1 | 557.67 kB | 7.71 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.4 | 2.95 MB | 5.83 MB | | @datadog/wasm-js-rewriter | 5.0.1 | 2.82 MB | 3.53 MB | | @datadog/native-metrics | 3.1.1 | 1.02 MB | 1.43 MB | | @opentelemetry/api-logs | 0.208.0 | 199.48 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.2.0 | 118.51 kB | 437.19 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 | | @isaacs/ttlcache | 2.1.3 | 90.79 kB | 90.79 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 | | 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 | | escape-string-regexp | 5.0.0 | 3.66 kB | 3.66 kB |

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

@codecov
Copy link
Copy Markdown

codecov Bot commented Dec 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 84.80%. Comparing base (b95a717) to head (f69d4d4).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #7063   +/-   ##
=======================================
  Coverage   84.80%   84.80%           
=======================================
  Files         514      514           
  Lines       21987    21987           
=======================================
+ Hits        18645    18646    +1     
+ Misses       3342     3341    -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.

@mabdinur mabdinur changed the title otel: add support for scope metrics feat(otel): add support for scope metrics Dec 9, 2025
@mabdinur mabdinur enabled auto-merge (squash) December 9, 2025 18:24
@mabdinur mabdinur merged commit 590ba8e into master Dec 10, 2025
1311 of 1699 checks passed
@mabdinur mabdinur deleted the munir/add-support-for-scope-attributes branch December 10, 2025 02:25
dd-octo-sts Bot pushed a commit that referenced this pull request Dec 10, 2025
@dd-octo-sts dd-octo-sts Bot mentioned this pull request Dec 10, 2025
BridgeAR pushed a commit that referenced this pull request Dec 17, 2025
nina9753 pushed a commit that referenced this pull request Dec 20, 2025
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