module Gruf::StackdriverTrace

Constants

AGENT_NAME
HEADER_KEY
VERSION

Public Class Methods

config() click to toggle source
# File lib/gruf/stackdriver_trace.rb, line 20
def self.config
  @config ||= {
      service: nil,
      sampled: true,
      capture_stack: true,
      sampler: nil,
      span_id_generator: nil
  }
end
configuration() click to toggle source
# File lib/gruf/stackdriver_trace.rb, line 53
def self.configuration
  Google::Cloud::Trace.configure
end
configure() { |config| ... } click to toggle source
# File lib/gruf/stackdriver_trace.rb, line 16
def self.configure
  yield config
end
init_default_config() click to toggle source
# File lib/gruf/stackdriver_trace.rb, line 45
def self.init_default_config
  configuration.project_id ||= Google::Cloud::Trace.default_project_id
  configuration.credentials ||= Google::Cloud.configure.credentials
  configuration.capture_stack = config.fetch(:capture_stack, true)
  configuration.sampler = config.fetch(:sampler, nil)
  configuration.span_id_generator = config.fetch(:span_id_generator, nil)
end
service() click to toggle source
# File lib/gruf/stackdriver_trace.rb, line 30
def self.service
  @service ||= begin
    init_default_config

    return config[:service] if config[:service]
    return nil unless configuration.project_id

    tracer = Google::Cloud::Trace.new(
        project_id: configuration.project_id,
        credentials: configuration.credentials
    )
    Google::Cloud::Trace::AsyncReporter.new(tracer.service)
  end
end