dd-trace-js
dd-trace-js copied to clipboard
Use proper API to get number of bytes in data
What does this PR do?
Relying on string length to calculate the number of bytes in the string is incorrect as the length property returns number of characters - not the number of bytes those characters take up.
This is a follow up to PR #5924
Motivation
Plugin Checklist
- [ ] Unit tests.
- [ ] Integration tests.
- [ ] Benchmarks.
- [ ] TypeScript definitions.
- [ ] TypeScript tests.
- [ ] API documentation.
- [ ] CI jobs/workflows.
Additional Notes
Reviewers should be careful to check the input to Buffer.byteLength() as it will throw un unsupported input, whereas input.length will in most cases just return undefined. However, while the old behavior is not throwing, it's most likely still incorrect and propably means that the input is of an unexpected type.
- #5927
👈 (View in Graphite) master
This stack of pull requests is managed by Graphite. Learn more about stacking.
Overall package size
Self size: 9.75 MB Deduped: 106.26 MB No deduping: 106.78 MB
Dependency sizes
| name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.7.0 | 35.02 MB | 35.02 MB | | @datadog/native-appsec | 8.5.2 | 19.33 MB | 19.34 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @datadog/pprof | 5.8.2 | 9.56 MB | 9.93 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.3 | 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.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.14.0 | 120.58 kB | 841.68 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.1 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.2 | 53.63 kB | 53.63 kB | | istanbul-lib-coverage | 3.2.2 | 34.37 kB | 34.37 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | dc-polyfill | 0.1.9 | 25.11 kB | 25.11 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | shell-quote | 1.8.2 | 23.54 kB | 23.54 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
Codecov Report
Attention: Patch coverage is 50.00000% with 2 lines in your changes missing coverage. Please review.
Project coverage is 79.60%. Comparing base (
abdf73b) to head (9b7b0dc). Report is 5 commits behind head on master.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| packages/dd-trace/src/llmobs/writers/base.js | 0.00% | 1 Missing :warning: |
| packages/dd-trace/src/llmobs/writers/spans.js | 0.00% | 1 Missing :warning: |
Additional details and impacted files
@@ Coverage Diff @@
## master #5927 +/- ##
=======================================
Coverage 79.60% 79.60%
=======================================
Files 477 477
Lines 20387 20387
=======================================
Hits 16229 16229
Misses 4158 4158
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
Datadog Report
Branch report: watson/byte-length-fix
Commit report: 1f80364
Test service: dd-trace-js-integration-tests
:white_check_mark: 0 Failed, 1259 Passed, 0 Skipped, 21m 36.49s Total Time
Benchmarks
Benchmark execution time: 2025-06-25 05:24:06
Comparing candidate commit 9b7b0dc3e8a789b5170a4ba83133a556a49b5437 in PR branch watson/byte-length-fix with baseline commit abdf73b782b32d7f31c48377635a8c838dea4b26 in branch master.
Found 0 performance improvements and 0 performance regressions! Performance is the same for 1277 metrics, 46 unstable metrics.