Sha256: ec012a980e19d5becd1d1038883c548fb5342300ff133967361abf26a7ef119e
Contents?: true
Size: 1.44 KB
Versions: 4
Compression:
Stored size: 1.44 KB
Contents
# frozen_string_literal: true require_relative '../../ext' require_relative '../../event' require_relative '../../consumer_event' module Datadog module Tracing module Contrib module Kafka module Events module Consumer # Defines instrumentation for process_message.consumer.kafka event module ProcessMessage include Kafka::Event extend Kafka::ConsumerEvent EVENT_NAME = 'process_message.consumer.kafka' def self.process(span, _event, _id, payload) super span.resource = payload[:topic] span.set_tag(Ext::TAG_TOPIC, payload[:topic]) if payload.key?(:topic) span.set_tag(Ext::TAG_MESSAGE_KEY, payload[:key]) if payload.key?(:key) span.set_tag(Ext::TAG_PARTITION, payload[:partition]) if payload.key?(:partition) span.set_tag(Ext::TAG_OFFSET, payload[:offset]) if payload.key?(:offset) span.set_tag(Ext::TAG_OFFSET_LAG, payload[:offset_lag]) if payload.key?(:offset_lag) end module_function def span_name Ext::SPAN_PROCESS_MESSAGE end def span_options super.merge({ tags: { Tracing::Metadata::Ext::TAG_OPERATION => Ext::TAG_OPERATION_PROCESS_MESSAGE } }) end end end end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems