Skip to content

Releases: googleapis/cloud-trace-nodejs

v3.3.1

09 Nov 22:21
9d42740
Compare
Choose a tag to compare

This release fixes an issue introduced in 3.3.0 where GAE requests would not be traced.

Commits

00b8c06 fix: make no option flags behave the same as o=1
c0cc60f test: remove cluster test todo (#907)
5c01e9e refactor: improve internal TraceWriter API (#876)
a42ab9e doc: reduce the samplingRate in README example
2c03ff0 doc: fix samplingRate comment in README (#905)

v3.3.0

02 Nov 22:48
5224aab
Compare
Choose a tag to compare

This release makes various improvements to the Trace Agent:

  • User Configuration
    • The sampling rate can now be less than 1 per second.
    • A contextHeaderBehavior option was added. Specifically, a new require value forces the Trace Agent to not trace requests that don't have incoming headers.
  • Bug Fixes
    • Memory footprint stemming from long-lived promises have been reduced, as span data pointers are now released when a Promise resolves rather than when it is destroyed.
  • Dependencies
    • The @google-cloud/common dependency has been upgraded to 0.26.0.
    • The gcp-metadata dependency has been upgraded to 0.9.0.

Commits

8454389 fix: avoid memory leaks due to undisposed promise resources (#885)
199cb42 feat: add contextHeaderBehavior option (#900)
47bb6e5 chore: revert #901 (#902)
3969491 chore: update CircleCI config (#901)
6f5af8c chore(deps): update dependency grpc to v1.16.0 (#899)
964d794 chore: include build in eslintignore (#898)
5220f9b fix: allow sampling rate to be less than 1 (#896)
b56926a fix(deps): update dependency gcp-metadata to ^0.9.0 (#897)
5840b74 refactor: address a few TODOs related to trace policy (#895)
8c6a614 fix(deps): update dependency @google-cloud/common to ^0.26.0 (#892)
a0a741d fix(deps): update dependency @google-cloud/datastore to v2 (#893)
5dc5fbf chore(deps): update dependency nock to v10 (#891)
ea88dcc chore(deps): update dependency @types/glob to v7 (#890)
023295b chore(deps): update dependency typescript to ~3.1.0 (#888)
c1a381a chore(deps): update dependency grpc to v1.15.1 (#887)

v3.2.1

12 Oct 22:02
e458805
Compare
Choose a tag to compare

This release fixes an issue where phantom child spans were being reported as errors (and half of a soft limit error was being reported as a warning).

Commits

e73af2b fix: swap log levels for two log points (#882)

v3.2.0

03 Oct 23:43
c2b9349
Compare
Choose a tag to compare

This version makes the following changes:

  • There is now an upper limit to the number of spans created by a single trace. Log messages will be emitted as a trace approaches its upper limit. This is intended to help diagnose memory leaks caused by context confusion or context loss. See the wiki for more info.
  • gRPC client methods can now be traced when their original method names are used.
  • A smaller HTTP library replaces request, improving startup time.

Commits

0072e5f feat: emit an error log on potential memory leak scenario (#870)
c19850d fix: add log level to logger prefix (#875)
497c760 fix: enable tracing on original client method names (#874)
23a0616 fix: update @google-cloud/common dependency to 0.25.3 (#871)
f722200 chore(deps): update dependency @types/mocha to v5.2.5 (#802)
2c787a9 Enable prefer-const in the eslint config (#869)
fed7d09 Enable no-var in eslint (#868)
210dc3f feat: use small HTTP dependency (#858)
13f617a fix: delete cache as it is not working anyways (#864)
b4583e2 test: don't require long-door key to run system tests (#866)
d5fe71b test: stop using TRACE_TEST_* for system tests (#861)
fbb10a6 Use the new github org (#862)
464aedb chore(deps): update dependency grpc to v1.14.2 (#856)
b95c2a0 chore: delete yarn.lock (#857)
ee350a2 fix(deps): update dependency @google-cloud/common to ^0.23.0 (#834)
b7296f0 chore: ignore yarn.lock (#851)
9d1e8a1 chore(deps): lock file maintenance (#846)
55ec732 chore: pin @types/node at 10.7 (#849)
d2f7922 chore(deps): update dependency nyc to v13 (#847)
021deec chore(deps): update dependency grpc to v1.14.1 (#845)

v3.1.1

15 Aug 00:19
d44e7a4
Compare
Choose a tag to compare

This release fixes an issue with missing TypeScript type definitions, as well as a broken image in the README on the NPM web UI. There should be no functional changes.

Commits

eb98fa1 fix: include more type definitions (#841)
b039c02 chore(deps): update dependency pify to v4 (#837)
aeaea17 chore(deps): update dependency @types/protobufjs to v6 (#809)
08208df doc: fix broken image on npm (#835)
9a6536a chore: ignore package-log.json (#836)

v3.1.0

06 Aug 23:54
d9faa1b
Compare
Choose a tag to compare

This release adds rootSpanNameOverride, which allows applications to override or transform the span name for root spans. It also adds the getConfig API on Tracer, which allows plugins to retrieve the normalized user config object that was passed to top-level start().

Commits

38202f4 chore: update renovate config (#828)
0ad4b01 chore(deps): lock file maintenance (#830)
a03e7b2 feat: add rootSpanNameOverride option (#826)
fe50b44 test: throw on deprecation
ef56b9b chore: assert.deelEqual => assert.deepStrictEqual (#825)
9152a6b chore(deps): update dependency typescript to v3 (#824)
c035d45 chore: move mocha options to mocha.opts (#822)
86c1d2d chore(deps): lock file maintenance (#823)
e4cd0f9 test: use strictEqual in tests (#813)
6787a37 chore(deps): lock file maintenance (#818)

v3.0.0

19 Jul 20:46
1760381
Compare
Choose a tag to compare

This is a semver major release that drops support for Node 4 and Node 9. There are other breaking changes, but those should have zero to little impact for most users of this module.

Breaking Changes

  • Node 4 and 9 are no longer supported.
  • Distributed tracing in gRPC now uses a well-known metadata key that should enable distributed context propagation across services in other languages. The metadata key we used to use previously ended up being different from what the gRPC community has settled on. If you have mixture of services using v2 and v3 of this module, then distributed tracing may not work. We recommend moving all Node.js services up to v3 together.
  • A few TypeScript types have been renamed. In particular, the object returned by start() and also passed to plugins is now called Tracer, instead of TraceAgent. This should have zero impact to JavaScript users, and a small impact to TypeScript users – only if the type TraceAgent was being explicitly being referred to in your code.

Commits

dde86d3 feat: rename TraceAgent/TraceApi to Tracer (#815)
4ac6ded fix: improve logs from the trace writer (#800)
63b13ca feat: use well-known format for propagating trace context thru grpc (#814)
f96c827 feat: implement (de)serialization of binary trace context (#812)
d146c5d chore(deps): update dependency gts to ^0.8.0 (#805)
1711db8 chore(deps): update dependency axios to ^0.18.0 (#804)
0a96e6c chore(deps): update dependency typescript to ~2.9.0 (#806)
93b7235 fix(deps): update dependency google-auto-auth to ^0.10.0 (#808)
fd138fc fix(deps): update dependency got to v8 (#811)
1fbbbf9 fix(deps): update dependency builtin-modules to v3 (#810)
94b8e3b fix(deps): update dependency gcp-metadata to ^0.7.0 (#807)
72cd353 refactor: convert plugin-grpc.ts to typescript (#799)
bff657a chore(deps): start using renovate (#801)
fa8f4a4 fix(package): update @google-cloud/common to version 0.20.3 (#796)
e4cfb1b chore: drop support for node 4 and 9 (#780)

v2.11.0

02 Jul 22:15
7025083
Compare
Choose a tag to compare

This release makes async_hooks-based tracing the default on Node 8+. This means that code using async/await will now get traced without an environmental variable.

Other changes include:

  • New APIs
    • traceApi.getProjectId(): Returns a Promise that will resolve to the project ID, either as user-specified or retrieved via google-auth-library.
    • traceApi.getCurrentRootSpan(): Returns the currently running root span.
  • Dependency Upgrades
    • require-in-the-middle has been upgraded to v3, which picks up a fix to allow this module to work in conjunction with other APM modules that rely on this dependency.
    • @google-cloud/common has been upgraded to 0.19, which standardizes the way authentication details are managed across this and other GCP client libraries.

Commits

ffc1bf1 Add Code of Conduct
30d0529 feat: support tracing for untranspiled async/await in Node 8+ (#775)
35bd716 chore: upgrade to r-i-t-m@3 (#789)
6995e5e chore(package): update ts-node to version 7.0.0 (#785)
f7ae770 feat: add getProjectId and getCurrentRootSpan (#782)
6314199 chore: fix a few package versions (#781)
a5509e1 chore: re-enable node 10 ci and modify init-test-fixtures (#771)
3f3f667 fix: update to @google-cloud/common@0.19 (#772)
7b9e48f test: modernize test-trace-api (#767)

v2.10.1

04 Jun 22:20
312fc22
Compare
Choose a tag to compare

This release fixes an issue where http instrumentation throws an error if the Expect header is on an outgoing request.

Commits

f9f648a test: remove test-trace-header-context (#768)
5c1dabe chore(package): update nyc to version 12.0.2 (#769)
bc877a5 fix: inject context http headers early if expect header exists (#766)

v2.10.0

30 May 16:11
2978728
Compare
Choose a tag to compare

This change expands the mongodb-core version range to 1 - 3. As a result, mongoose@5 is also supported.

Commits

d227b6d feat: support mongodb-core@3 (#760)