Skip to content

Latest commit

 

History

History
23 lines (14 loc) · 751 Bytes

requirements.md

File metadata and controls

23 lines (14 loc) · 751 Bytes

Requirements

  • The API must have zero dependencies and be header-only.

Pros: allows you to drop it into a source tree (i.e. vendor it) without changing the build or adding a dependency.

  • The SDK should have minimal dependencies.

  • Exporters can bring in transport dependencies, e.g. Stackdriver exporter depends on gRPC.

  • Support both static linking and dynamic loading.

Dynamic loading is required because some vendors want to drop in their own implementation of the SDK. It also allows low-dependency builds.

This also requires a stable C++ ABI. There is quite a bit of interest in this.

This means STL types can't be used in the interface.

  • OpenTelemetry should not require a dedicated thread for background work and exporters.