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'
payload[:end_time] ||= finish
payload[:start_time] ||= start
Langfuse.span(payload)
when 'langfuse.generation'
payload[:end_time] ||= finish
payload[:start_time] ||= start
Langfuse.generation(payload)
when 'langfuse.score'
Langfuse.score(payload)
end
end
end
|