Skip to content

Commit

Permalink
Start documenting requirements. (#15)
Browse files Browse the repository at this point in the history
Addresses #4.
  • Loading branch information
g-easy committed Dec 19, 2019
1 parent d3da4dc commit 73fd549
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions docs/requirements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 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.

0 comments on commit 73fd549

Please sign in to comment.