lazydocker/vendor/go.opentelemetry.io/auto/sdk/CONTRIBUTING.md
NITIN VARMA MANTHENA 1c9dca459a Upgrade Docker client to v29.0.2
Updates github.com/docker/cli from v27.1.1 to v29.0.2 to use the latest Docker client API.

  This upgrade includes required dependency updates:
  - Added github.com/moby/moby/client v0.1.0
  - Added github.com/moby/moby/api v1.52.0
  - Updated github.com/docker/go-connections v0.5.0 → v0.6.0
  - Updated github.com/opencontainers/image-spec v1.1.0 → v1.1.1
  - Updated OpenTelemetry packages (v1.28.0 → v1.35.0)
  - Updated golang.org/x/sys v0.24.0 → v0.33.0

  All changes tested and build verified successfully.
2025-11-17 15:16:16 -05:00

27 lines
1.4 KiB
Markdown

# Contributing to go.opentelemetry.io/auto/sdk
The `go.opentelemetry.io/auto/sdk` module is a purpose built OpenTelemetry SDK.
It is designed to be:
0. An OpenTelemetry compliant SDK
1. Instrumented by auto-instrumentation (serializable into OTLP JSON)
2. Lightweight
3. User-friendly
These design choices are listed in the order of their importance.
The primary design goal of this module is to be an OpenTelemetry SDK.
This means that it needs to implement the Go APIs found in `go.opentelemetry.io/otel`.
Having met the requirement of SDK compliance, this module needs to provide code that the `go.opentelemetry.io/auto` module can instrument.
The chosen approach to meet this goal is to ensure the telemetry from the SDK is serializable into JSON encoded OTLP.
This ensures then that the serialized form is compatible with other OpenTelemetry systems, and the auto-instrumentation can use these systems to deserialize any telemetry it is sent.
Outside of these first two goals, the intended use becomes relevant.
This package is intended to be used in the `go.opentelemetry.io/otel` global API as a default when the auto-instrumentation is running.
Because of this, this package needs to not add unnecessary dependencies to that API.
Ideally, it adds none.
It also needs to operate efficiently.
Finally, this module is designed to be user-friendly to Go development.
It hides complexity in order to provide simpler APIs when the previous goals can all still be met.