module Labkit::Tracing::ExternalHttp

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.

Public Class Methods

instrument() click to toggle source
# 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