Module: Labkit::Tracing::ExternalHttp

Includes:
TracingCommon
Defined in:
lib/labkit/tracing/external_http.rb,
lib/labkit/tracing/external_http/request_instrumenter.rb

Overview

Instrument external HTTP calls made by the HTTP client libraries. This tracing instrumenter listens to the events broadcasted from the publishers injected into the libraries whenever there is a request.

Defined Under Namespace

Classes: RequestInstrumenter

Class Method Summary collapse

Class Method Details

.instrumentObject



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/labkit/tracing/external_http.rb', line 13

def self.instrument
  Labkit::NetHttpPublisher.labkit_prepend!
  Labkit::ExconPublisher.labkit_prepend!
  Labkit::HTTPClientPublisher.labkit_prepend!

  subscriptions = [
    ::ActiveSupport::Notifications.subscribe(::Labkit::EXTERNAL_HTTP_NOTIFICATION_TOPIC, RequestInstrumenter.new),
  ]

  create_unsubscriber subscriptions
end