Class: LangsmithrbRails::OTEL::Exporter
- Inherits:
-
Object
- Object
- LangsmithrbRails::OTEL::Exporter
- Defined in:
- lib/langsmithrb_rails/otel/exporter.rb
Overview
OpenTelemetry exporter for LangSmith
Instance Method Summary collapse
-
#export(spans) ⇒ Integer
Export spans to LangSmith.
-
#initialize(api_key: nil, api_url: nil) ⇒ Exporter
constructor
Initialize a new OpenTelemetry exporter.
-
#shutdown(timeout = 0) ⇒ Boolean
Shutdown the exporter.
Constructor Details
#initialize(api_key: nil, api_url: nil) ⇒ Exporter
Initialize a new OpenTelemetry exporter
10 11 12 13 14 |
# File 'lib/langsmithrb_rails/otel/exporter.rb', line 10 def initialize(api_key: nil, api_url: nil) @api_key = api_key || Config[:api_key] @api_url = api_url || Config[:api_url] @client = LangsmithrbRails::Client.new(api_key: @api_key, api_url: @api_url) end |
Instance Method Details
#export(spans) ⇒ Integer
Export spans to LangSmith
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/langsmithrb_rails/otel/exporter.rb', line 19 def export(spans) return :success if spans.empty? spans.each do |span| export_span(span) end :success rescue => e LangsmithrbRails.logger.error("Failed to export spans: #{e.message}") :failure end |
#shutdown(timeout = 0) ⇒ Boolean
Shutdown the exporter
35 36 37 |
# File 'lib/langsmithrb_rails/otel/exporter.rb', line 35 def shutdown(timeout = 0) true end |