Skip to content
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

Auto-instrument @opentelemetry/sdk-trace-node #3248

Merged
merged 1 commit into from
Jun 20, 2023
Merged

Conversation

Qard
Copy link
Contributor

@Qard Qard commented Jun 15, 2023

What does this PR do?

Auto-instrument @opentelemetry/sdk-trace-node when DD_TRACE_OTEL_ENABLED is set

Motivation

We want to be able to enable our SDK with zero code changes.

Fixes #3240

@Qard Qard requested a review from a team as a code owner June 15, 2023 23:54
@github-actions
Copy link

github-actions bot commented Jun 15, 2023

Overall package size

Self size: 4.36 MB
Deduped: 60.82 MB
No deduping: 60.86 MB

Dependency sizes

name version self size total size
@datadog/pprof 2.2.1 14.24 MB 15.12 MB
@datadog/native-iast-taint-tracking 1.5.0 14.86 MB 14.86 MB
@datadog/native-appsec 3.2.0 13.38 MB 13.39 MB
protobufjs 7.1.2 2.76 MB 6.55 MB
@datadog/native-iast-rewriter 2.0.1 2.09 MB 2.1 MB
@opentelemetry/core 1.14.0 872.87 kB 1.47 MB
@datadog/native-metrics 2.0.0 898.77 kB 1.3 MB
@opentelemetry/api 1.4.1 780.32 kB 780.32 kB
opentracing 0.14.7 194.81 kB 194.81 kB
semver 7.3.8 88.2 kB 118.6 kB
@datadog/sketches-js 2.1.0 109.9 kB 109.9 kB
lodash.sortby 4.7.0 75.76 kB 75.76 kB
lru-cache 7.14.0 74.95 kB 74.95 kB
ipaddr.js 2.0.1 59.52 kB 59.52 kB
ignore 5.2.0 48.87 kB 48.87 kB
import-in-the-middle 1.3.5 34.34 kB 38.81 kB
istanbul-lib-coverage 3.2.0 29.34 kB 29.34 kB
retry 0.10.1 27.44 kB 27.44 kB
lodash.uniq 4.5.0 25.01 kB 25.01 kB
limiter 1.1.5 23.17 kB 23.17 kB
lodash.kebabcase 4.1.1 17.75 kB 17.75 kB
lodash.pick 4.4.0 16.33 kB 16.33 kB
node-abort-controller 3.0.1 14.33 kB 14.33 kB
crypto-randomuuid 1.0.0 11.18 kB 11.18 kB
diagnostics_channel 1.1.0 7.07 kB 7.07 kB
path-to-regexp 0.1.7 6.78 kB 6.78 kB
koalas 1.0.2 6.47 kB 6.47 kB
methods 1.1.2 5.29 kB 5.29 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


get TracerProvider () {
return require('../opentelemetry/tracer_provider')
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Extra bug fix to allow accessing TracerProvider before doing tracer.init(...).

@codecov
Copy link

codecov bot commented Jun 15, 2023

Codecov Report

Merging #3248 (bf352d9) into master (51dd34b) will increase coverage by 0.02%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #3248      +/-   ##
==========================================
+ Coverage   86.01%   86.04%   +0.02%     
==========================================
  Files         194      194              
  Lines        7517     7518       +1     
  Branches       33       33              
==========================================
+ Hits         6466     6469       +3     
+ Misses       1051     1049       -2     
Impacted Files Coverage Δ
packages/dd-trace/src/noop/proxy.js 80.64% <0.00%> (-2.69%) ⬇️
...ages/dd-trace/src/opentelemetry/context_manager.js 84.61% <0.00%> (ø)

... and 2 files with indirect coverage changes

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@@ -62,7 +62,7 @@ class ContextManager {
bind (context, target) {
const self = this
return function (...args) {
return self.with(context, target, this, args)
return self.with(context, target, this, ...args)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And another bug fix to ensure arguments are passed through bind properly.

@pr-commenter
Copy link

pr-commenter bot commented Jun 15, 2023

Benchmarks

Comparing candidate commit bf352d9 in PR branch otel-auto-instrumentation with baseline commit 51dd34b in branch master.

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

@Qard Qard force-pushed the otel-auto-instrumentation branch 3 times, most recently from 5b7e29c to 7b208e6 Compare June 20, 2023 02:12
@Qard Qard force-pushed the otel-auto-instrumentation branch from 7b208e6 to bf352d9 Compare June 20, 2023 17:53
@Qard Qard merged commit 89da666 into master Jun 20, 2023
@Qard Qard deleted the otel-auto-instrumentation branch June 20, 2023 19:01
This was referenced Jun 21, 2023
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.

Unmet peer warnings for @opentelemetry/api
2 participants