Module: Uptrace
- Extended by:
- Uptrace
- Included in:
- Uptrace
- Defined in:
- lib/uptrace.rb,
lib/uptrace/dsn.rb,
lib/uptrace/client.rb,
lib/uptrace/version.rb,
lib/uptrace/id_generator.rb
Overview
Uptrace provides Uptrace exporters for OpenTelemetry.
Defined Under Namespace
Modules: IdGenerator Classes: Client, DSN
Constant Summary collapse
- VERSION =
'1.8.1'
Instance Attribute Summary collapse
-
#logger ⇒ Object
Returns the value of attribute logger.
Instance Method Summary collapse
-
#configure_opentelemetry(dsn: '') {|c| ... } ⇒ Object
ConfigureOpentelemetry configures OpenTelemetry to export data to Uptrace.
- #trace_url(span = nil) ⇒ String
Instance Attribute Details
#logger ⇒ Object
Returns the value of attribute logger.
18 19 20 |
# File 'lib/uptrace.rb', line 18 def logger @logger end |
Instance Method Details
#configure_opentelemetry(dsn: '') {|c| ... } ⇒ Object
ConfigureOpentelemetry configures OpenTelemetry to export data to Uptrace. Specifically it configures and registers Uptrace span exporter.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/uptrace.rb', line 34 def configure_opentelemetry(dsn: '') @client = Client.new(dsn: dsn) return if @client.disabled? OpenTelemetry::SDK.configure do |c| # Set default IdGenerator and let users override c.id_generator = Uptrace::IdGenerator c.add_span_processor(span_processor(@client.dsn)) yield c if block_given? # Merge resource current_resource = c.instance_variable_get(:@resource) current_resource ||= OpenTelemetry::SDK::Resources::Resource.create host_resource = OpenTelemetry::SDK::Resources::Resource.create( 'host.name' => Socket.gethostname ) c.resource = current_resource.merge(host_resource) end me = metric_exporter(@client.dsn) OpenTelemetry.meter_provider.add_metric_reader(me) le = log_exporter(@client.dsn) processor = OpenTelemetry::SDK::Logs::Export::BatchLogRecordProcessor.new(le) OpenTelemetry.logger_provider.add_log_record_processor(processor) end |
#trace_url(span = nil) ⇒ String
24 25 26 |
# File 'lib/uptrace.rb', line 24 def trace_url(span = nil) @client.trace_url(span) end |