Module: Langfuse::Rails

Defined in:
lib/langfuse/rails.rb

Class Method Summary collapse

Class Method Details

.setup_notificationsObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/langfuse/rails.rb', line 6

def setup_notifications
  ActiveSupport::Notifications.subscribe(/langfuse/) do |name, start, finish, _id, payload|
    case name
    when 'langfuse.trace'
      Langfuse.trace(payload)
    when 'langfuse.span'
      # Set end_time based on notification timing if not provided
      payload[:end_time] ||= finish
      payload[:start_time] ||= start
      Langfuse.span(payload)
    when 'langfuse.generation'
      # Set end_time based on notification timing if not provided
      payload[:end_time] ||= finish
      payload[:start_time] ||= start
      Langfuse.generation(payload)
    when 'langfuse.score'
      Langfuse.score(payload)
    end
  end
end