Uh oh!
There was an error while loading. Please reload this page.
Add cmd-exec-id to user agent - #1808
Conversation
pietern
commented
Oct 17, 2024
With an alternative in the works, shall we skip this? |
shreyas-goenka
commented
Oct 18, 2024
@pietern I have not yet looked into Traceparent. I'll followup on this and close it once I verify it would work. |
For some social proof, the az CLI also does something similar, but to correlate the multiple telemetry logs recorded in a single CLI invocation: |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
cmd-exec-id to user agent to correlate API calls from the same command executionUh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
eng-dev-ecosystem-bot
commented
Oct 31, 2024
Test Details: go/deco-tests/11613171225 |
cmd-exec-id to user agent to correlate API calls from the same command executioncmd-exec-id to user agent
pietern
left a comment
There was a problem hiding this comment.
The change LGTM. Please update the PR summary. If you want to keep the discussion about traceparent around, it should move to its own section. Now it reads as if this PR has any bearing on traceparent, but it doesn't.
CLI: * Clean host URL in the `auth login` command ([#1879](#1879)). Bundles: * Fix bundle run when run interactively ([#1880](#1880)). * Fix relative path resolution for dashboards on Windows ([#1881](#1881)). Internal: * Address goreleaser deprecation warning ([#1872](#1872)). * Update actions/github-script to v7 ([#1873](#1873)). * Use Go 1.23 ([#1871](#1871)). * [Internal] Always write message for manual integration test trigger ([#1874](#1874)). * Add `cmd-exec-id` to user agent ([#1808](#1808)). * Added E2E test to run Python wheels on interactive cluster created in bundle ([#1864](#1864)). Dependency updates: * Bump github.com/hashicorp/terraform-json from 0.22.1 to 0.23.0 ([#1877](#1877)).
CLI: * Clean host URL in the `auth login` command ([#1879](#1879)). Bundles: * Fix bundle run when run interactively ([#1880](#1880)). * Fix relative path resolution for dashboards on Windows ([#1881](#1881)). Internal: * Address goreleaser deprecation warning ([#1872](#1872)). * Update actions/github-script to v7 ([#1873](#1873)). * Use Go 1.23 ([#1871](#1871)). * [Internal] Always write message for manual integration test trigger ([#1874](#1874)). * Add `cmd-exec-id` to user agent ([#1808](#1808)). * Added E2E test to run Python wheels on interactive cluster created in bundle ([#1864](#1864)). Dependency updates: * Bump github.com/hashicorp/terraform-json from 0.22.1 to 0.23.0 ([#1877](#1877)).
## Changes This PR adds the `cmd-exec-id` field to the user agent. This allows us to correlate multiple HTTP requests made from the CLI. ### Why Not Use HTTP traceparent? We considered using the traceparent header in HTTP as an alternative, but it's not a good fit for our use case. Here's why: 1. Purpose of traceparent: It's designed to trace a single HTTP request across a distributed system as it moves through subsystems and proxies. 2. Our requirement: We need to trace multiple HTTP requests made during a single command execution in the CLI. For more details about how traceparent itself works and how it's used in the Go SDK, see databricks/databricks-sdk-go#914. ## Tests Unit test
CLI: * Clean host URL in the `auth login` command ([#1879](#1879)). Bundles: * Fix bundle run when run interactively ([#1880](#1880)). * Fix relative path resolution for dashboards on Windows ([#1881](#1881)). Internal: * Address goreleaser deprecation warning ([#1872](#1872)). * Update actions/github-script to v7 ([#1873](#1873)). * Use Go 1.23 ([#1871](#1871)). * [Internal] Always write message for manual integration test trigger ([#1874](#1874)). * Add `cmd-exec-id` to user agent ([#1808](#1808)). * Added E2E test to run Python wheels on interactive cluster created in bundle ([#1864](#1864)). Dependency updates: * Bump github.com/hashicorp/terraform-json from 0.22.1 to 0.23.0 ([#1877](#1877)).
Changes
This PR adds the
cmd-exec-idfield to the user agent. This allows us to correlate multiple HTTP requests made from the CLI.Why Not Use HTTP traceparent?
We considered using the traceparent header in HTTP as an alternative, but it's not a good fit for our use case. Here's why:
For more details about how traceparent itself works and how it's used in the Go SDK, see databricks/databricks-sdk-go#914.
Tests
Unit test