Sha256: 746f0353293a072c2b68b8c810792b51b58f863508e1ee9ae507fcca539d0ac0

Contents?: true

Size: 860 Bytes

Versions: 14

Compression:

Stored size: 860 Bytes

Contents

require 'ddtrace/transport/statistics'

module Datadog
  module Transport
    module HTTP
      # Tracks statistics for HTTP transports
      module Statistics
        def self.included(base)
          base.send(:include, Transport::Statistics)
          base.send(:include, InstanceMethods)
        end

        # Instance methods for HTTP statistics
        module InstanceMethods
          # Decorate metrics for HTTP responses
          def metrics_for_response(response)
            super.tap do |metrics|
              # Add status code tag to api.responses metric
              if metrics.key?(:api_responses)
                (metrics[:api_responses].options[:tags] ||= []).tap do |tags|
                  tags << "status_code:#{response.code}"
                end
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
ls-trace-0.1.2 lib/ddtrace/transport/http/statistics.rb
ddtrace-0.34.2 lib/ddtrace/transport/http/statistics.rb
ddtrace-0.34.1 lib/ddtrace/transport/http/statistics.rb
ddtrace-0.34.0 lib/ddtrace/transport/http/statistics.rb
ddtrace-0.33.1 lib/ddtrace/transport/http/statistics.rb
ddtrace-0.33.0 lib/ddtrace/transport/http/statistics.rb
ddtrace-0.32.0 lib/ddtrace/transport/http/statistics.rb
ddtrace-0.31.1 lib/ddtrace/transport/http/statistics.rb
ddtrace-0.31.0 lib/ddtrace/transport/http/statistics.rb
ddtrace-0.30.1 lib/ddtrace/transport/http/statistics.rb
ddtrace-0.30.0 lib/ddtrace/transport/http/statistics.rb
ddtrace-0.29.1 lib/ddtrace/transport/http/statistics.rb
ls-trace-0.1.1 lib/ddtrace/transport/http/statistics.rb
ddtrace-0.29.0 lib/ddtrace/transport/http/statistics.rb