module OpenTelemetry
Overview
## Global Trace Provider
----------------------------------------------------------------
OpenTelemetry.configure do |config|
config.service_name = "my_app_or_library"
config.service_version = "1.1.1"
config.exporter = OpenTelemetry::IOExporter.new(:STDOUT)
end
trace = OpenTelemetry.trace_provider("my_app_or_library", "1.1.1")
trace = OpenTelemetry.trace_provider do |provider|
provider.service_name = "my_app_or_library"
provider.service_version = "1.1.1"
end.trace
## Trace Providers as Objects With Unique Configuration
----------------------------------------------------------------
provider_a = OpenTelemetry::TraceProvider.new("my_app_or_library", "1.1.1")
provider_a.exporter = OpenTelemetry::IOExporter.new(:STDOUT)
provider_b = OpenTelementry::TraceProvider.new do |config|
config.service_name = "my_app_or_library"
config.service_version = "1.1.1"
config.exporter = OpenTelemetry::IOExporter.new(:STDOUT)
end
## Getting a Trace From a Provider Object
----------------------------------------------------------------
trace = provider_a.trace # Inherit all configuration from the Provider Object
trace = provider_a.trace("microservice foo", "1.2.3") # Override the configuration
trace = provider_a.trace do |provider|
provider.service_name = "microservice foo"
provider.service_version = "1.2.3"
end.trace
## Creating Spans Using a Trace
----------------------------------------------------------------
trace.in_span("request") do |span|
span.set_attribute("verb", "GET")
span.set_attribute("url", "http://example.com/foo")
span.add_event("dispatching to handler")
trace.in_span("handler") do |child_span|
child_span.add_event("handling request")
trace.in_span("db") do |child_span|
child_span.add_event("querying database")
end
end
end
Defined in:
exporter.crexporters/abstract.cr
exporters/base.cr
exporters/buffered_base.cr
exporters/buffered_exporter.cr
exporters/http.cr
exporters/io.cr
exporters/null.cr
exporters/stdout.cr
exporters/unbuffered_exporter.cr
opentelemetry-api.cr
opentelemetry-api/aliases.cr
opentelemetry-api/anyvalue.cr
opentelemetry-api/attribute.cr
opentelemetry-api/context.cr
opentelemetry-api/context/key.cr
opentelemetry-api/event.cr
opentelemetry-api/id_generator.cr
opentelemetry-api/id_generator/base.cr
opentelemetry-api/id_generator/random.cr
opentelemetry-api/id_generator/unique.cr
opentelemetry-api/instrument.cr:1
opentelemetry-api/instrument.cr:53
opentelemetry-api/instrument/counter.cr
opentelemetry-api/instrumentation.cr
opentelemetry-api/log.cr
opentelemetry-api/log_collection.cr
opentelemetry-api/log_provider.cr
opentelemetry-api/message.cr
opentelemetry-api/meter.cr
opentelemetry-api/meter/exceptions.cr
opentelemetry-api/meter_provider.cr
opentelemetry-api/name.cr
opentelemetry-api/provider.cr
opentelemetry-api/provider/configuration.cr
opentelemetry-api/provider/configuration/factory.cr
opentelemetry-api/resource.cr
opentelemetry-api/sendable.cr
opentelemetry-api/span.cr
opentelemetry-api/span/kind.cr
opentelemetry-api/span_context.cr
opentelemetry-api/trace.cr
opentelemetry-api/trace/exceptions.cr
opentelemetry-api/trace_flags.cr
opentelemetry-api/trace_provider.cr
opentelemetry-api/version.cr
proto/common.pb.cr
proto/logs.pb.cr
proto/logs_service.pb.cr
proto/metrics.pb.cr
proto/metrics_config_service.pb.cr
proto/metrics_service.pb.cr
proto/resource.pb.cr
proto/trace.pb.cr
proto/trace_config.pb.cr
proto/trace_service.pb.cr
Constant Summary
-
INSTANCE_ID =
CSUUID.unique.to_s
-
NAME =
"OpenTelemetry Crystal"
-
VERSION =
"0.2.0"
Class Method Summary
- .config
- .config=(config)
-
.configure(&block : TraceProvider::Configuration::Factory -> )
Use this method to configure the global trace provider.
- .handle_error(error)
- .instrumentation_library
- .instrumentation_scope
- .provider
- .provider=(provider)
- .trace
- .trace(&)
- .trace_provider(service_name : String, service_version : String = "", exporter = nil)
- .trace_provider
- .trace_provider(&block : TraceProvider::Configuration::Factory -> )
Class Method Detail
def self.configure(&block : TraceProvider::Configuration::Factory -> )
#
Use this method to configure the global trace provider.