Module: Instana::Instrumentation::ActionCableChannel

Defined in:
lib/instana/instrumentation/action_cable.rb

Instance Method Summary collapse

Instance Method Details

#dispatch_action(action, data) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/instana/instrumentation/action_cable.rb', line 37

def dispatch_action(action, data)
  rpc_tags = {
    service: ::Instana::Util.get_app_name,
    rpc: {
      flavor: :actioncable,
      call: "#{self.class}##{action}",
      call_type: :action,
      host: Socket.gethostname
    }
  }

  context = connection.instana_trace_context
  Trace.with_span(OpenTelemetry::Trace.non_recording_span(context)) do
    ::Instana.tracer.in_span(:'rpc-server', attributes: rpc_tags) do
      super(action, data)
    end
  end
end

#transmit(data, via: nil) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/instana/instrumentation/action_cable.rb', line 18

def transmit(data, via: nil)
  rpc_tags = {
    service: ::Instana::Util.get_app_name,
    rpc: {
      flavor: :actioncable,
      call: self.class.to_s,
      call_type: :transmit,
      host: Socket.gethostname
    }
  }

  context = connection.instana_trace_context
  Trace.with_span(OpenTelemetry::Trace.non_recording_span(context)) do
    ::Instana.tracer.in_span(:'rpc-server', attributes: rpc_tags) do
      super(data, via: via)
    end
  end
end