This is an implementation of the OpenTelemetry API. The API layer provides a set of interface definitions, and NO-OP implementations of those interfaces. It is not useful on its own to instrument your code with OpenTelemetry, but rather is intended to be used by the SDK, which provides the functionality behind the API interfaces defined in this repo.
https://wyhaines.github.io/opentelemetry-api.cr/
A Discord community for help and discussion with Crystal OpenTelemetry can be found at:
You will not normally directly use this shard. If you want to instrument your code with OpenTelemetry, see the Instrumentation shard or the SDK.
If you do have reason to use this shard directly, however:
-
Add the dependency to your
shard.yml
:dependencies: opentelemetry-api: github: wyhaines/opentelemetry-api.cr
-
Run
shards install
To gain access to all of the API (i.e. NO-OP) implementations of the OTel API interfaces:
require "opentelemetry-api"
This will define a set of classes and structs which implement the OpenTelemetry API interfaces with methods that do nothing.
If you only want access to the API interfaces (which is what the SDK uses):
require "opentelemetry-api/src/interfaces"
If you want to help with development, fork this repo. Do your work in a branch inside your fork, and when it is ready (and has specs), submit a PR. See Contributing below.
If you have a question or find an issue, you can start a discussion or create an issue.
- Fork it (https://github.com/wyhaines/opentelemetry-api.cr/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
- Kirk Haines - creator and maintainer