Module: Sentry::Agents

Defined in:
lib/sentry/agents.rb,
lib/sentry/agents/version.rb,
lib/sentry/agents/serializer.rb,
lib/sentry/agents/span_builder.rb,
lib/sentry/agents/configuration.rb,
lib/sentry/agents/instrumentation.rb

Overview

Sentry Gen AI instrumentation for AI/LLM agents

Examples:

Basic usage

class MyAgent
  include Sentry::Agents::Instrumentation

  def process(message)
    with_agent_span(agent_name: "MyAgent", model: "claude-3-5-sonnet") do
      # agent logic
    end
  end
end

Defined Under Namespace

Modules: Instrumentation Classes: Configuration, Serializer, SpanBuilder

Constant Summary collapse

VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.configurationConfiguration

Thread-safe lazy initialization

Returns:



27
28
29
30
31
32
# File 'lib/sentry/agents.rb', line 27

def configuration
  @mutex ||= Mutex.new
  @mutex.synchronize do
    @configuration ||= Configuration.new
  end
end

.configure {|Configuration| ... } ⇒ void

This method returns an undefined value.

Configure the gem

Examples:

Sentry::Agents.configure do |config|
  config.default_system = "anthropic"
  config.auto_instrument_ruby_llm = true
end

Yields:



45
46
47
48
# File 'lib/sentry/agents.rb', line 45

def configure
  yield(configuration)
  apply_auto_instrumentation
end

.reset_configuration!void

This method returns an undefined value.

Reset configuration to defaults (mainly for testing) Thread-safe reset



53
54
55
56
57
58
# File 'lib/sentry/agents.rb', line 53

def reset_configuration!
  @mutex ||= Mutex.new
  @mutex.synchronize do
    @configuration = Configuration.new
  end
end