Sha256: 016c24d8da0e3ec1d8927e397aabd91f7e424f327880e15e79078ba0de06e48c

Contents?: true

Size: 1.33 KB

Versions: 46

Compression:

Stored size: 1.33 KB

Contents

# (c) Copyright IBM Corp. 2021
# (c) Copyright Instana Inc. 2021

module Instana
  module Instrumentation
    module ActionCableConnection
      def instana_trace_context
        @instana_trace_context
      end

      def process
        @instana_trace_context ||= ::Instana.tracer.tracing? ? ::Instana.tracer.current_span.context : {}
        super
      end
    end

    module ActionCableChannel
      def transmit(*args)
        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
        ::Instana.tracer.start_or_continue_trace(:'rpc-server', rpc_tags, context) do
          super(*args)
        end
      end

      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
        ::Instana.tracer.start_or_continue_trace(:'rpc-server', rpc_tags, context) do
          super(action, data)
        end
      end
    end
  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
instana-1.209.8 lib/instana/instrumentation/action_cable.rb
instana-1.209.7 lib/instana/instrumentation/action_cable.rb
instana-1.209.6 lib/instana/instrumentation/action_cable.rb
instana-1.209.5 lib/instana/instrumentation/action_cable.rb
instana-1.209.4 lib/instana/instrumentation/action_cable.rb
instana-1.209.3 lib/instana/instrumentation/action_cable.rb
instana-1.209.2 lib/instana/instrumentation/action_cable.rb
instana-1.209.1 lib/instana/instrumentation/action_cable.rb
instana-1.209.0.pre3 lib/instana/instrumentation/action_cable.rb
instana-1.209.0.pre2 lib/instana/instrumentation/action_cable.rb
instana-1.209.0.pre1 lib/instana/instrumentation/action_cable.rb
instana-1.208.0 lib/instana/instrumentation/action_cable.rb
instana-1.207.0 lib/instana/instrumentation/action_cable.rb
instana-1.206.0 lib/instana/instrumentation/action_cable.rb
instana-1.205.0 lib/instana/instrumentation/action_cable.rb
instana-1.204.0 lib/instana/instrumentation/action_cable.rb
instana-1.204.0.pre3 lib/instana/instrumentation/action_cable.rb
instana-1.204.0.pre2 lib/instana/instrumentation/action_cable.rb
instana-1.204.0.pre1 lib/instana/instrumentation/action_cable.rb
instana-1.203.2 lib/instana/instrumentation/action_cable.rb