Skip to content

refactor custom metrics to be self-contained#5061

Merged
bengl merged 1 commit into
masterfrom
bengl/refactor-custom-metrics
Feb 24, 2025
Merged

refactor custom metrics to be self-contained#5061
bengl merged 1 commit into
masterfrom
bengl/refactor-custom-metrics

Conversation

@bengl

@bengl bengl commented Dec 31, 2024

Copy link
Copy Markdown
Collaborator

This had no real business being in Proxy#init(), so I moved it to where it makes more sense.

@bengl
bengl requested a review from a team as a code owner December 31, 2024 05:36
@github-actions

Copy link
Copy Markdown
Contributor

Overall package size

Self size: 8.41 MB
Deduped: 94.88 MB
No deduping: 95.39 MB

Dependency sizes | name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.3.0 | 29.43 MB | 29.43 MB | | @datadog/native-appsec | 8.3.0 | 19.37 MB | 19.38 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 | | 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

@pr-commenter

pr-commenter Bot commented Dec 31, 2024

Copy link
Copy Markdown

Benchmarks

Benchmark execution time: 2024-12-31 05:42:50

Comparing candidate commit 8c89cf4 in PR branch bengl/refactor-custom-metrics with baseline commit 4d6a8e3 in branch master.

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

scenario:log-without-log-20

  • 🟥 cpu_user_time [+18.316ms; +23.907ms] or [+5.331%; +6.959%]

@bengl
bengl enabled auto-merge (squash) January 3, 2025 14:08
const clientConfig = DogStatsDClient.generateClientConfig(config)
this.dogstatsd = new DogStatsDClient(clientConfig)

this._boundFlush = this.flush.bind(this)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why are _boundFlush and _flushInterval object level properties, and not just const boundFlush and const flushInterval?

Comment thread packages/dd-trace/src/dogstatsd.js

@BridgeAR BridgeAR left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM % comment. I would definitely prefer not to add any properties that are not absolutely needed

Comment thread packages/dd-trace/src/dogstatsd.js
Comment on lines +194 to +200
this._boundFlush = this.flush.bind(this)

// TODO(bengl) this magic number should be configurable
this._flushInterval = setInterval(this._boundFlush, 10 * 1000)
this._flushInterval.unref()

process.once('beforeExit', this._boundFlush)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
this._boundFlush = this.flush.bind(this)
// TODO(bengl) this magic number should be configurable
this._flushInterval = setInterval(this._boundFlush, 10 * 1000)
this._flushInterval.unref()
process.once('beforeExit', this._boundFlush)
const flush = this.flush.bind(this)
// TODO(bengl) this magic number should be configurable
setInterval(flush, 10 * 1000).unref()
process.once('beforeExit', flush)

@bengl
bengl merged commit ac25f30 into master Feb 24, 2025
@bengl
bengl deleted the bengl/refactor-custom-metrics branch February 24, 2025 21:51
@watson watson mentioned this pull request Feb 27, 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.

4 participants