Skip to content

Commit

Permalink
add a README
Browse files Browse the repository at this point in the history
... correct the module namespace in code example
  • Loading branch information
robbkidd committed Apr 22, 2024
1 parent 16a195f commit 0089f34
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 1 deletion.
68 changes: 68 additions & 0 deletions processor/baggage/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Baggage Span Processor

This is an OpenTelemetry [span processor](https://opentelemetry.io/docs/specs/otel/trace/sdk/#span-processor) that reads key/values stored in [Baggage](https://opentelemetry.io/docs/specs/otel/baggage/api/) in the starting span's parent context and adds them as attributes to the span.

## How do I get started?

Install the gem using:

```shell
gem install opentelemetry-processor-baggage
```

Or, if you use [bundler][bundler-home], include `opentelemetry-processor-baggage` to your `Gemfile`.

### Version Compatibility

* OpenTelemetry API v1.0+

## Usage

To install the instrumentation, add the gem to your Gemfile:

```ruby
gem 'opentelemetry-processor-baggage'
```

Then add the processor to an SDK's configuration:

```ruby
require 'rubygems'
require 'bundler/setup'

Bundler.require

OpenTelemetry::SDK.configure do |c|
# Add the BaggageSpanProcessor to the collection of span processors
c.add_span_processor(OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new)

# Because the span processor list is no longer empty, the SDK will not use the
# values in OTEL_TRACES_EXPORTER to instantiate exporters.
# You'll need to declare your own here in the configure block.
#
# These lines setup the default: a batching OTLP exporter.
c.add_span_processor(
# these constructors without arguments will pull config from the environment
OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
OpenTelemetry::Exporter::OTLP::Exporter.new()
)
)
end
```

## How can I get involved?

The `opentelemetry-processor-baggage` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`.

The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig].

## License

The `opentelemetry-instrumentation-sinatra` gem is distributed under the Apache 2.0 license. See [LICENSE][license-github] for more information.

[bundler-home]: https://bundler.io
[repo-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib
[license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE
[ruby-sig]: https://github.com/open-telemetry/community#ruby-sig
[community-meetings]: https://github.com/open-telemetry/community#community-meetings
[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ module Baggage
# @example
# OpenTelemetry::SDK.configure do |c|
# # Add the BaggageSpanProcessor to the collection of span processors
# c.add_span_processor(Honeycomb::OpenTelemetry::Trace::BaggageSpanProcessor.new)
# c.add_span_processor(OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new)
#
# # Because the span processor list is no longer empty, the SDK will not use the
# # values in OTEL_TRACES_EXPORTER to instantiate exporters.
Expand Down

0 comments on commit 0089f34

Please sign in to comment.