Class: Labkit::Tracing::ExternalHttp::RequestInstrumenter

Inherits:
AbstractInstrumenter show all
Defined in:
lib/labkit/tracing/external_http/request_instrumenter.rb

Overview

For more information on the payloads: lib/labkit/net_http_publisher.rb

Instance Method Summary collapse

Methods inherited from AbstractInstrumenter

#finish, #scope_stack, #start

Instance Method Details

#span_name(_payload) ⇒ Object



8
9
10
# File 'lib/labkit/tracing/external_http/request_instrumenter.rb', line 8

def span_name(_payload)
  "external_http:request"
end

#tags(payload) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/labkit/tracing/external_http/request_instrumenter.rb', line 12

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