Skip to content

Instantly share code, notes, and snippets.

@austinlparker
Last active January 20, 2021 23:41
Show Gist options
  • Save austinlparker/4973be1c8eca29934781543be0b1e7ac to your computer and use it in GitHub Desktop.
Save austinlparker/4973be1c8eca29934781543be0b1e7ac to your computer and use it in GitHub Desktop.
rb simple example
# bundle install
# LS_ACCESS_TOKEN=<token> bundle exec ruby main.rb
main.rb
---
Bundler.require
OpenTelemetry::SDK.configure do |c|
c.service_name = 'ruby-test'
c.add_span_processor(
OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new(
exporter: OpenTelemetry::Exporter::OTLP::Exporter.new(
# for devmode, change endpoint to 'localhost:8360/api/v2/otel/trace' and set insecure to true
endpoint: 'ingest.lightstep.com:443/api/v2/otel/trace',
insecure: false,
headers: { 'lightstep-access-token' => ENV['LS_ACCESS_TOKEN'] }
)
)
)
end
tracer = OpenTelemetry.tracer_provider.tracer('default')
loop do
tracer.in_span('foo') do |span|
# set an attribute
span.set_attribute('platform', 'osx')
# add an event
span.add_event('event in bar')
# create bar as child of foo
tracer.in_span('bar') do |child_span|
# inspect the span
pp child_span
end
end
sleep 5
end
gemfile
---
source 'https://rubygems.org'
gem 'opentelemetry-api', '0.12.1'
gem 'opentelemetry-sdk', '0.12.1'
gem 'opentelemetry-exporter-otlp', '0.12.1'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment