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

observability: use manual tracing instead of auto-traceWrapping until opentelemetry-instrumentation-spanner is ported #2114

Closed
2 tasks
odeke-em opened this issue Sep 17, 2024 · 0 comments · Fixed by #2118
Labels
api: spanner Issues related to the googleapis/nodejs-spanner API. priority: p3 Desirable enhancement or fix. May not be included in next release. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.

Comments

@odeke-em
Copy link
Contributor

This issue serves as a decision marker and record for our method of attack to get observability in for this package. I implemented
2 kinds of tracing to ensure the team had a buffet of options:

Internally at Google it was discussed and resolved with @surbhigarg92 representing us when tabled with the OpenTelemetry team at Google that:

  • traceWrap was well received but we should send that instrumentation to be hosted at opentelemetry-js-contrib
  • manually instrument the libraries currently

One thing to note is that we shall need to add feature guards that will ensure that customers don't doubly import the future opentelemetry-instrumentation-spanner and then also with the manual spans.

@odeke-em odeke-em added priority: p3 Desirable enhancement or fix. May not be included in next release. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design. labels Sep 17, 2024
@product-auto-label product-auto-label bot added the api: spanner Issues related to the googleapis/nodejs-spanner API. label Sep 17, 2024
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 17, 2024
This change is part of a series of changes to add
OpenTelemetry traces, focused on BatchTransaction and Table.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 17, 2024
This change is part of a series of changes to add
OpenTelemetry traces, focused on BatchTransaction and Table.

While here, made the tests for sessionPool spans much more
precise to avoid flakes.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 19, 2024
This change is part of a series of changes to add
OpenTelemetry traces, focused on BatchTransaction and Table.

While here, made the tests for sessionPool spans much more
precise to avoid flakes.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 19, 2024
This change is part of a series of changes to add
OpenTelemetry traces, focused on BatchTransaction and Table.

While here, made the tests for sessionPool spans much more
precise to avoid flakes.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 20, 2024
This change is part of a series of changes to add
OpenTelemetry traces, focused on BatchTransaction and Table.

While here, made the tests for sessionPool spans much more
precise to avoid flakes.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 20, 2024
This change is part of a series of changes to add
OpenTelemetry traces, focused on BatchTransaction and Table.

While here, made the tests for sessionPool spans much more
precise to avoid flakes.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 20, 2024
This change is part of a series of changes to add
OpenTelemetry traces, focused on BatchTransaction and Table.

While here, made the tests for sessionPool spans much more
precise to avoid flakes.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 20, 2024
This change is part of a series of changes to add
OpenTelemetry traces, focused on BatchTransaction and Table.

While here, made the tests for sessionPool spans much more
precise to avoid flakes.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 20, 2024
This change is part of a series of changes to add
OpenTelemetry traces, focused on BatchTransaction and Table.

While here, made the tests for sessionPool spans much more
precise to avoid flakes.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
gcf-merge-on-green bot pushed a commit that referenced this issue Sep 20, 2024
This change is part of a series of changes to add
OpenTelemetry traces, focused on BatchTransaction and Table.

While here, made the tests for sessionPool spans much more precise to avoid flakes.

Updates #2079
Built from PR #2087
Updates #2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 20, 2024
Adds trace spans for Database methods, as well as tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 20, 2024
Adds trace spans for Database methods, as well as tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 20, 2024
Adds trace spans for Database methods, as well as tests
for methods:

* getSession
* getSnapshot
* run
* runStream
* runTransaction

tracing of other methods shall come in follow-up PRs.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 21, 2024
This change adds tracing spans to Session for methods:
* create
* getMetadata
* keepAlive

and corresponding tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 22, 2024
This change adds tracing spans to Session for methods:
* create
* getMetadata
* keepAlive

and corresponding tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 23, 2024
This change adds tracing spans to Session for methods:
* create
* getMetadata
* keepAlive

and corresponding tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 23, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 23, 2024
This change adds tracing spans to Session for methods:
* create
* getMetadata
* keepAlive

and corresponding tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 23, 2024
This change adds tracing spans to Session for methods:
* create
* getMetadata
* keepAlive

and corresponding tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 23, 2024
This change adds tracing spans to Session for methods:
* create
* getMetadata
* keepAlive

and corresponding tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 23, 2024
Adds trace spans for Database methods, as well as tests
for methods:

* getSession
* getSnapshot
* run
* runStream
* runTransaction

tracing of other methods shall come in follow-up PRs.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 23, 2024
Adds trace spans for Database methods, as well as tests
for methods:

* getSession
* getSnapshot
* run
* runStream
* runTransaction

tracing of other methods shall come in follow-up PRs.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 23, 2024
Adds trace spans for Database methods, as well as tests
for methods:

* getSession
* getSnapshot
* run
* runStream
* runTransaction

tracing of other methods shall come in follow-up PRs.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 30, 2024
Adds trace spans for Database methods, as well as tests
for methods:

* getSession
* getSnapshot
* run
* runStream
* runTransaction

tracing of other methods shall come in follow-up PRs.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 30, 2024
This change adds tracing spans to Session for methods:
* create
* getMetadata
* keepAlive

and corresponding tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 30, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Sep 30, 2024
Adds trace spans for Database methods, as well as tests
for methods:

* getSession
* getSnapshot
* run
* runStream
* runTransaction

tracing of other methods shall come in follow-up PRs.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
gcf-merge-on-green bot pushed a commit that referenced this issue Sep 30, 2024
Adds trace spans for Database methods, as well as tests
for methods:

* getSession
* getSnapshot
* run
* runStream
* runTransaction

tracing of other methods shall come in follow-up PRs.

Updates #2079
Built from PR #2087
Updates #2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Oct 1, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Oct 1, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Oct 1, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Oct 3, 2024
This change adds observability tracing for
Transaction along with tests.

Alsoo while here, added SessionPool.createSessions span.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Oct 3, 2024
This change adds observability tracing for
Transaction along with tests.

Alsoo while here, added SessionPool.createSessions span.

Updates googleapis#2079
Built from PR googleapis#2087
Updates googleapis#2114
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Oct 4, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Updates googleapis#2114
Requires PR googleapis#2145.
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Oct 7, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Updates googleapis#2114
Requires PR googleapis#2145.
odeke-em added a commit to odeke-em/nodejs-spanner that referenced this issue Oct 8, 2024
This change adds observability tracing for
Transaction along with tests.

Updates googleapis#2079
Updates googleapis#2114
Requires PR googleapis#2145.
gcf-merge-on-green bot pushed a commit that referenced this issue Oct 8, 2024
This change adds observability tracing for
Transaction along with tests.

Updates #2079
Built from PR #2087
Updates #2114
gcf-merge-on-green bot pushed a commit that referenced this issue Oct 30, 2024
🤖 I have created a release *beep* *boop*
---


## [7.15.0](https://togithub.com/googleapis/nodejs-spanner/compare/v7.14.0...v7.15.0) (2024-10-30)


### Features

* (observability, samples): add tracing end-to-end sample ([#2130](https://togithub.com/googleapis/nodejs-spanner/issues/2130)) ([66d99e8](https://togithub.com/googleapis/nodejs-spanner/commit/66d99e836cd2bfbb3b0f78980ec2b499f9e5e563))
* (observability) add spans for BatchTransaction and Table ([#2115](https://togithub.com/googleapis/nodejs-spanner/issues/2115)) ([d51aae9](https://togithub.com/googleapis/nodejs-spanner/commit/d51aae9c9c3c0e6319d81c2809573ae54675acf3)), closes [#2114](https://togithub.com/googleapis/nodejs-spanner/issues/2114)
* (observability) Add support for OpenTelemetry traces and allow observability options to be passed.  ([#2131](https://togithub.com/googleapis/nodejs-spanner/issues/2131)) ([5237e11](https://togithub.com/googleapis/nodejs-spanner/commit/5237e118befb4b7fe4aea76a80a91e822d7a22e4)), closes [#2079](https://togithub.com/googleapis/nodejs-spanner/issues/2079)
* (observability) propagate database name for every span generated to aid in quick debugging ([#2155](https://togithub.com/googleapis/nodejs-spanner/issues/2155)) ([0342e74](https://togithub.com/googleapis/nodejs-spanner/commit/0342e74721a0684d8195a6299c3a634eefc2b522))
* (observability) trace Database.batchCreateSessions + SessionPool.createSessions ([#2145](https://togithub.com/googleapis/nodejs-spanner/issues/2145)) ([f489c94](https://togithub.com/googleapis/nodejs-spanner/commit/f489c9479fa5402f0c960cf896fd3be0e946f182))
* (observability): trace Database.runPartitionedUpdate ([#2176](https://togithub.com/googleapis/nodejs-spanner/issues/2176)) ([701e226](https://togithub.com/googleapis/nodejs-spanner/commit/701e22660d5ac9f0b3e940ad656b9ca6c479251d)), closes [#2079](https://togithub.com/googleapis/nodejs-spanner/issues/2079)
* (observability): trace Database.runTransactionAsync ([#2167](https://togithub.com/googleapis/nodejs-spanner/issues/2167)) ([d0fe178](https://togithub.com/googleapis/nodejs-spanner/commit/d0fe178623c1c48245d11bcea97fcd340b6615af)), closes [#207](https://togithub.com/googleapis/nodejs-spanner/issues/207)
* Allow multiple KMS keys to create CMEK database/backup ([#2099](https://togithub.com/googleapis/nodejs-spanner/issues/2099)) ([51bc8a7](https://togithub.com/googleapis/nodejs-spanner/commit/51bc8a7445ab8b3d2239493b69d9c271c1086dde))
* **observability:** Fix bugs found from product review + negative cases ([#2158](https://togithub.com/googleapis/nodejs-spanner/issues/2158)) ([cbc86fa](https://togithub.com/googleapis/nodejs-spanner/commit/cbc86fa80498af6bd745eebb9443612936e26d4e))
* **observability:** Trace Database methods ([#2119](https://togithub.com/googleapis/nodejs-spanner/issues/2119)) ([1f06871](https://togithub.com/googleapis/nodejs-spanner/commit/1f06871f7aca386756e8691013602b069697bb87)), closes [#2114](https://togithub.com/googleapis/nodejs-spanner/issues/2114)
* **observability:** Trace Database.batchWriteAtLeastOnce ([#2157](https://togithub.com/googleapis/nodejs-spanner/issues/2157)) ([2a19ef1](https://togithub.com/googleapis/nodejs-spanner/commit/2a19ef1af4f6fd1b81d08afc15db76007859a0b9)), closes [#2079](https://togithub.com/googleapis/nodejs-spanner/issues/2079)
* **observability:** Trace Transaction ([#2122](https://togithub.com/googleapis/nodejs-spanner/issues/2122)) ([a464bdb](https://togithub.com/googleapis/nodejs-spanner/commit/a464bdb5cbb7856b7a08dac3ff48132948b65792)), closes [#2114](https://togithub.com/googleapis/nodejs-spanner/issues/2114)


### Bug Fixes

* Exact staleness timebound ([#2143](https://togithub.com/googleapis/nodejs-spanner/issues/2143)) ([f01516e](https://togithub.com/googleapis/nodejs-spanner/commit/f01516ec6ba44730622cfb050c52cd93f30bba7a)), closes [#2129](https://togithub.com/googleapis/nodejs-spanner/issues/2129)
* GetMetadata for Session ([#2124](https://togithub.com/googleapis/nodejs-spanner/issues/2124)) ([2fd63ac](https://togithub.com/googleapis/nodejs-spanner/commit/2fd63acb87ce06a02d7fdfa78d836dbd7ad59a26)), closes [#2123](https://togithub.com/googleapis/nodejs-spanner/issues/2123)

---
This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: spanner Issues related to the googleapis/nodejs-spanner API. priority: p3 Desirable enhancement or fix. May not be included in next release. type: feature request ‘Nice-to-have’ improvement, new feature or different behavior or design.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant