github.com/pyroscope-io/pyroscope@v0.37.3-0.20230725203016-5f6947968bd0/examples/ruby/rideshare_rails/config/initializers/pyroscope.rb (about) 1 require 'pyroscope/otel' 2 3 app_name = ENV.fetch("PYROSCOPE_APPLICATION_NAME", "rails-ride-sharing-app") 4 pyroscope_server_address = ENV.fetch("PYROSCOPE_SERVER_ADDRESS", "http://pyroscope:4040") 5 jaeger_endpoint = ENV.fetch("JAEGER_ENDPOINT", "http://localhost:14268/api/traces") 6 7 Pyroscope.configure do |config| 8 config.app_name = app_name 9 config.server_address = pyroscope_server_address 10 config.auth_token = ENV.fetch("PYROSCOPE_AUTH_TOKEN", "") 11 12 config.tags = { 13 "region": ENV["REGION"] || "us-east", 14 } 15 end 16 17 OpenTelemetry::SDK.configure do |c| 18 c.service_name = app_name 19 c.add_span_processor Pyroscope::Otel::SpanProcessor.new("#{app_name}.cpu", pyroscope_server_address) 20 c.add_span_processor OpenTelemetry::SDK::Trace::Export::BatchSpanProcessor.new( 21 OpenTelemetry::Exporter::Jaeger::CollectorExporter.new(endpoint: jaeger_endpoint)) 22 c.use_all() 23 end