Module: Gruf::StackdriverTrace
- Defined in:
- lib/gruf/stackdriver_trace.rb,
lib/gruf/stackdriver_trace/label.rb,
lib/gruf/stackdriver_trace/version.rb,
lib/gruf/stackdriver_trace/client_interceptor.rb,
lib/gruf/stackdriver_trace/server_interceptor.rb
Defined Under Namespace
Modules: Label
Classes: ClientInterceptor, ServerInterceptor
Constant Summary
collapse
- AGENT_NAME =
"gruf-stackdriver-trace #{Gruf::StackdriverTrace::VERSION}".freeze
'x-trace-context'.freeze
- VERSION =
"0.1.0"
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
20
21
22
23
24
25
26
27
28
|
# 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 ⇒ Object
53
54
55
|
# File 'lib/gruf/stackdriver_trace.rb', line 53
def self.configuration
Google::Cloud::Trace.configure
end
|
16
17
18
|
# File 'lib/gruf/stackdriver_trace.rb', line 16
def self.configure
yield config
end
|
.init_default_config ⇒ Object
45
46
47
48
49
50
51
|
# 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 ⇒ Object
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# 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
|