ZeroTierOne/ext/opentelemetry-cpp-1.21.0/docs/requirements.md
2025-07-11 10:37:21 -07:00

23 lines
751 B
Markdown

# 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.