Skip to content

Conversation

@quartzmo
Copy link
Member

No description provided.

westarle
westarle approved these changes Nov 26, 2025
Copy link

@westarle westarle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had similar thoughts as googleapis/google-cloud-go#13408

* **Transport Creation (`transport/http/dial.go`):** This is the **critical chokepoint** for all HTTP clients. `NewClient` calls `dial`, which constructs the `http.Client`.
* **Instrumentation Point:** This is the exact location to wrap the `http.Transport` (e.g., with OpenTelemetry) or inject middleware.
* **Configuration:** Users configure clients using `option.ClientOption` (found in `option/`).
* **`option.WithTracerProvider`:** This option flows into `dial.go` and determines the tracing provider.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are all these details helpful outside the scope of work on tracing? My only concern is that this is sort of a "partial" architecture description that might limit the focus.

If the real meat of the clients is all in dial and ClientOption then this makes sense.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants