Sha256: 1c541a9b4f9981099ce893a5696ea1025936370c73078fd79357144cc1a76244

Contents?: true

Size: 1011 Bytes

Versions: 5

Compression:

Stored size: 1011 Bytes

Contents

# frozen_string_literal: true

module Labkit
  module Tracing
    module ExternalHttp
      # For more information on the payloads: lib/labkit/net_http_publisher.rb
      class RequestInstrumenter < Labkit::Tracing::AbstractInstrumenter
        def span_name(_payload)
          "external_http:request"
        end

        def tags(payload)
          # Duration is calculated by start and end time
          # Exception is already captured in lib/labkit/tracing/tracing_utils.rb
          tags = {
            "component" => "external_http",
            "method" => payload[:method],
            "code" => payload[:code],
            "host" => payload[:host],
            "port" => payload[:port],
            "path" => payload[:path],
            "scheme" => payload[:scheme],
          }
          unless payload[:proxy_host].nil?
            tags["proxy_host"] = payload[:proxy_host]
            tags["proxy_port"] = payload[:proxy_port]
          end
          tags
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gitlab-labkit-0.16.2 lib/labkit/tracing/external_http/request_instrumenter.rb
gitlab-labkit-0.16.1 lib/labkit/tracing/external_http/request_instrumenter.rb
gitlab-labkit-0.16.0 lib/labkit/tracing/external_http/request_instrumenter.rb
gitlab-labkit-0.15.0 lib/labkit/tracing/external_http/request_instrumenter.rb
gitlab-labkit-0.14.0 lib/labkit/tracing/external_http/request_instrumenter.rb