Class: DSPy::Subscribers::OtelSubscriber::OtelConfig

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/dspy/subscribers/otel_subscriber.rb

Overview

Configuration for OpenTelemetry integration

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeOtelConfig

Returns a new instance of OtelConfig.



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/dspy/subscribers/otel_subscriber.rb', line 53

def initialize
  @enabled = !!(defined?(OpenTelemetry) && ENV['OTEL_EXPORTER_OTLP_ENDPOINT'])
  @service_name = ENV.fetch('OTEL_SERVICE_NAME', 'dspy-ruby')
  @service_version = begin
    ENV.fetch('OTEL_SERVICE_VERSION', DSPy::VERSION)
  rescue
    '1.0.0'
  end
  @endpoint = ENV['OTEL_EXPORTER_OTLP_ENDPOINT']
  @headers = parse_headers(ENV['OTEL_EXPORTER_OTLP_HEADERS'])
  @trace_optimization_events = true
  @trace_lm_events = true
  @export_metrics = true
  @sample_rate = ENV.fetch('OTEL_TRACE_SAMPLE_RATE', '1.0').to_f
end

Instance Attribute Details

#enabledObject

Returns the value of attribute enabled.



26
27
28
# File 'lib/dspy/subscribers/otel_subscriber.rb', line 26

def enabled
  @enabled
end

#endpointObject

Returns the value of attribute endpoint.



35
36
37
# File 'lib/dspy/subscribers/otel_subscriber.rb', line 35

def endpoint
  @endpoint
end

#export_metricsObject

Returns the value of attribute export_metrics.



47
48
49
# File 'lib/dspy/subscribers/otel_subscriber.rb', line 47

def export_metrics
  @export_metrics
end

#headersObject

Returns the value of attribute headers.



38
39
40
# File 'lib/dspy/subscribers/otel_subscriber.rb', line 38

def headers
  @headers
end

#sample_rateObject

Returns the value of attribute sample_rate.



50
51
52
# File 'lib/dspy/subscribers/otel_subscriber.rb', line 50

def sample_rate
  @sample_rate
end

#service_nameObject

Returns the value of attribute service_name.



29
30
31
# File 'lib/dspy/subscribers/otel_subscriber.rb', line 29

def service_name
  @service_name
end

#service_versionObject

Returns the value of attribute service_version.



32
33
34
# File 'lib/dspy/subscribers/otel_subscriber.rb', line 32

def service_version
  @service_version
end

#trace_lm_eventsObject

Returns the value of attribute trace_lm_events.



44
45
46
# File 'lib/dspy/subscribers/otel_subscriber.rb', line 44

def trace_lm_events
  @trace_lm_events
end

#trace_optimization_eventsObject

Returns the value of attribute trace_optimization_events.



41
42
43
# File 'lib/dspy/subscribers/otel_subscriber.rb', line 41

def trace_optimization_events
  @trace_optimization_events
end