Sha256: 611f414ea99bde8a102fe350b952a7f42d924a60bbe548b888405fafae0a405a
Contents?: true
Size: 1.23 KB
Versions: 6
Compression:
Stored size: 1.23 KB
Contents
# typed: true require 'ddtrace/transport/statistics' module Datadog module Transport module HTTP # Tracks statistics for HTTP transports module Statistics def self.included(base) base.include(Datadog::Transport::Statistics) base.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 << metrics_tag_value(response.code) end end end end private # The most common status code on a healthy tracer STATUS_CODE_200 = 'status_code:200'.freeze def metrics_tag_value(status_code) if status_code == 200 STATUS_CODE_200 # DEV Saves string concatenation/creation for common case else "status_code:#{status_code}" end end end end end end end
Version data entries
6 entries across 6 versions & 1 rubygems