GoogleCloudPlatform / GoogleCloudPlatform/cloud-sql-proxy

Feature request: Open Telemetry tracing supporting database Semantic Conventions + GCP conventions

Open
#2,477 3 comments 1 reaction 1 assignee Claimed by @kgala2 View on GitHub
type: feature request
Dominant language
Go
Stars
1.4k
Forks
352
Avg merge
14h 54m
Merged PRs (30d)
5

Description

### Feature Description

For users of Cloud SQL Auth Proxy who also use trace observability with or without Cloud Trace, it would be ideal if Cloud SQL Auth Proxy were instrumented in such a way as to:

- Emit client spans in [OTLP format](https://opentelemetry.io/docs/specs/otel/protocol/) that conform to [OTel DB Semantic Conventions](https://opentelemetry.io/docs/specs/semconv/database/database-spans/)
- Support wiring to `telemetry.googleapis.com` (or regionalized endpoints thereof)
- Support wiring to 3rd party or user-supplied OTel Collectors via standard [OTel environment variables](https://opentelemetry.io/docs/languages/sdk-configuration/) or [OTel declarative config](https://github.com/open-telemetry/opentelemetry-configuration)
- Include resource attributes aligned with [GCP resource detectors](https://github.com/open-telemetry/opentelemetry-go-contrib/tree/main/detectors/gcp)
- Propagate [W3C TraceContext](https://www.w3.org/TR/trace-context/)
- Include GCP-specific span attributes as appropriate such as the `gcp.resource.name` attribute identifying the canonical resource name of the destination database being operated on

See also:

- https://opentelemetry.io/docs/specs/semconv/database/database-spans/
- https://opentelemetry.io/docs/specs/semconv/database/mysql/
- https://cloud.google.com/stackdriver/docs/reference/telemetry/overview
- https://cloud.google.com/trace/docs/migrate-to-otlp-endpoints
- https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/
- https://opentelemetry.io/docs/languages/sdk-configuration/general/
- https://github.com/open-telemetry/opentelemetry-configuration
- https://opentelemetry.io/blog/2023/sunsetting-opencensus/

### Sample code

_No response_

### Alternatives Considered

_No response_

### Additional Details

Happy to discuss more privately over GVC regarding the context and motivation behind the request.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.