Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add support for OTel context propagation and harmonized spans (#…
…1833) * feat: use the propagation inject framework for OpenTelemetry publishes * feat: add propagation extraction to subscriber for OpenTelemetry * feat: work in progress on adding sub-spans * add more spans * wrap subscriber on() handlers to get better receive process spans * update otel core version for tests * fix: change some span names for doc updates * fix: move emitter wrapper out one level, to catch user functions properly * fix: don't send anything besides what's actually needed during publish * fix: close the publish span at RPC time, not up front * fix: delay caching of the trace provider so the user has a chance to make one * build: bring OTel versions back to compatible with Node 12 * fix: clean up a few more namespace pollution issues in OTel support * tests: manually end the publish span for tests * build: update package names for recent version updates * chore: get versions of OTel that work together and with Node 12 * chore: linter nit * chore: another linter nit * chore: OTel sample formatting * chore: some internal renaming to reflect the function rather than name of telemetry tracing * fix: more work towards the Promise-first publish flow * tests: remove unnecessary init line * fix: add tracing support for updating the topic name in publisher spans * fix: use the most up to date name for topic, subscription, and iam * fix: update telemetry spans before publishing, in case the topic name wasn't ready * chore: calm linter qualms * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * fix: update drain() not to promisify * tests: update unit tests for recent promise changes to publish() * feat: add modAck spans during leasing * docs: add more code comment docs * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * tests: unit test fixes, also include deadline and initial parameters for modAck * fix: make sure the subscriber span ends, update sample * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * tests: update unit test for latest changes * chore: pull promise-based publish out of OTel change * tests: update otel sample test * wip: end all telemetry spans when clear() is called * wip: add more unit tests * fix: include batch size with each published message span * chore: fix lint * fix: separate out the getter and setter classes * chore: rename span related objects in subscriber * chore: rename SpanMaker * docs: improved comments and lint fixes * docs: more class/comment updating * fix: missing spans caused by renames; also do more renames * tests: more renaming issues * tests: add otel test for FlowControlledPublisher * tests: add lease manager tests for otel * tests: add SubscriberSpans unit tests * fix: simplify logic for HTTP/1.1 REST fallback option (#1809) * fix: simplify logic for HTTP/1.1 REST fallback option For the `fallback` parameter, all values considered as `true` in Boolean context will enable HTTP/1.1 REST fallback, since the other fallback transport, proto over HTTP, is removed from `google-gax` v4. PiperOrigin-RevId: 559812260 Source-Link: googleapis/googleapis@6a6fd29 Source-Link: googleapis/googleapis-gen@56c1665 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTZjMTY2NTdlN2E1OTEyMmIxZGE5NDc3MWE5ZWY0MDk4OWMyODJjMCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * build: update Node.js version and base Debian version (#1793) * build: update Node.js version and base Debian version * test: update Python and Node versions in container test YAMLs Source-Link: googleapis/synthtool@f54a720 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:aeccbef8061fc122542e8f381c4e7b66b32e23dda522e94c68346585dc408f0d Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Megan Potter <57276408+feywind@users.noreply.github.com> * docs: fix node release schedule link (#1794) Co-authored-by: Jeffrey Rennie <rennie@google.com> Source-Link: googleapis/synthtool@1a24315 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:e08f9a3757808cdaf7a377e962308c65c4d7eff12db206d4fae702dd50d43430 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: Megan Potter <57276408+feywind@users.noreply.github.com> * chore: update release-please post-processing for nodejs apiary (#1805) * chore: update release-please post-processing for nodejs apiary Source-Link: googleapis/synthtool@59fe44f Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest@sha256:606f3d9d99a1c7cdfa7158cbb1a75bfeef490655e246a2052f9ee741740d736c Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * fix: Make retry policy back off more aggressively for RPCs that retry RESOURCE_EXHAUSTD (#1806) * fix: Make retry policy back off more aggressively for RPCs that retry RESOURCE_EXHAUSTD PiperOrigin-RevId: 557935020 Source-Link: googleapis/googleapis@38e1f31 Source-Link: googleapis/googleapis-gen@5bbe39d Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNWJiZTM5ZDM3MjE4YTQyMGIyMzY4YzM3NTQxZGU1ODg3ZGI3ZDZhZiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> * fix: set grpc keepalive time|outs by default (#1814) * fix: always fill the topic and sub names when creating from a PubSub object (#1816) * chore(legacy-v3): release 3.7.4 (#1820) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> * docs: update copyrights to make header-check happy * chore: remove left-in console.trace * feat: update opentelemetry packages to latest * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * samples: mostly whitespace, but updated OTel sample * feat: updates for the new design doc: batching, events, separate RPC span * tests: fix / update tests for batch changes * feat: change ack/nack/modack to be events * fix: fixes for previous commits * fix: move span closing to subscriber, upon (n)ack * docs: update custom gcp attributes * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * docs: update subscriber comments * tests: add unit tests for shutdown events * fix: missed commits from previous * fix: update span attributes for ordering key Co-authored-by: Anna Levenberg <annarose.levenberg@gmail.com> * fix: update gcp.pubsub to gcp_pubsub * feat: add back in receive response spans * docs: fix inadequate comments for deadline * feat: add ack/nack/modack events in processing * fix: publisher -> publish scheduler Co-authored-by: Anna Levenberg <annarose.levenberg@gmail.com> * chore: fix intermediate samples build exclusion * feat: update otel span names and attributes to latest spec * chore: remove extraneous import * feat: add publish start/end events * docs: comment updates about modack spans * tests: add a bunch of unit tests for new otel stuff * fix: subId might be undefined * fix: revert incorrect attribute change * docs: clarify some comments * tests: update the test for the last commit * fix: change processing span to use ack/nack instead of callback time * docs: fix copyright ranges on renamed/updated files * chore: OTel changed how semantic attribute names are specified * tests: update otel sample tests for latest changes * samples: update JS otel sample from TS * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * samples: update otel tracing sample with the correct tags and some other cleanup * samples: split otel samples into listen/publish * tests: fix resource name for otel * build: remove defunct typing * feat: add support for globally enabling (and disabling) otel tracing * feat: add bidi links between RPC and message spans, and filter by isSampled * feat: track code.function * docs: update comment based on CR * tests: publishSpan might be undefined if tracing isn't enabled * chore: small merge issue * fix: update spans for ack/modack to match newest spec * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * samples: add the otel enable flag to new otel samples * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * docs: last minute review, mostly adding private/internal doc tags --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: gcf-owl-bot[bot] <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: Anna Levenberg <annarose.levenberg@gmail.com>
- Loading branch information