Class: Mnemosyne::Probes::Acfs::Request::Probe

Inherits:
Mnemosyne::Probe show all
Defined in:
lib/mnemosyne/probes/acfs/request.rb

Instance Method Summary collapse

Methods inherited from Mnemosyne::Probe

#install, subscribe, subscriptions

Methods included from Logging

#logger

Instance Method Details

#call(trace, _name, start, finish, _id, _payload) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/mnemosyne/probes/acfs/request.rb', line 16

def call(trace, _name, start, finish, _id, _payload)
  start  = ::Mnemosyne::Clock.to_tick(start)
  finish = ::Mnemosyne::Clock.to_tick(finish)

  callers = caller

  callers.shift until callers[0].include? 'lib/acfs/global.rb:'

  meta = {
    backtrace: callers[1..]
  }

  span = ::Mnemosyne::Span.new(
    'external.run.acfs',
    start:,
    finish:,
    meta:
  )

  trace << span
end

#setupObject



10
11
12
13
14
# File 'lib/mnemosyne/probes/acfs/request.rb', line 10

def setup
  require 'mnemosyne/middleware/acfs'

  ::Acfs::Runner.use ::Mnemosyne::Middleware::Acfs
end