module OpenTelemetry
OpenTelemetry
is an open source observability framework, providing a general-purpose API, SDK, and related tools required for the instrumentation of cloud-native software, frameworks, and libraries.
The OpenTelemetry
module provides global accessors for telemetry objects.
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Copyright The OpenTelemetry
Authors
SPDX-License-Identifier: Apache-2.0
Constants
- VERSION
Current
OpenTelemetry
version
Attributes
Public Instance Methods
@return [Object, Baggage::NoopManager] registered
baggage manager or a default no-op implementation of the manager.
# File lib/opentelemetry.rb, line 71 def baggage @baggage ||= Baggage::NoopManager.new end
@return [Callable] configured error handler or a default that logs the
exception and message at ERROR level.
# File lib/opentelemetry.rb, line 36 def error_handler @error_handler ||= ->(exception: nil, message: nil) { logger.error("OpenTelemetry error: #{[message, exception&.message].compact.join(' - ')}") } end
Handles an error by calling the configured error_handler.
@param [optional Exception] exception The exception to be handled @param [optional String] message An error message.
# File lib/opentelemetry.rb, line 44 def handle_error(exception: nil, message: nil) error_handler.call(exception: exception, message: message) end
@return [Object, Logger] configured Logger or a default STDOUT Logger.
# File lib/opentelemetry.rb, line 30 def logger @logger ||= Logger.new(STDOUT, level: ENV['OTEL_LOG_LEVEL'] || Logger::INFO) end
@return [Context::Propagation::Propagator] a propagator instance
# File lib/opentelemetry.rb, line 76 def propagation @propagation ||= Context::Propagation::NoopTextMapPropagator.new end
@return [Object, Trace::TracerProvider] registered tracer provider or a
default no-op implementation of the tracer provider.
# File lib/opentelemetry.rb, line 64 def tracer_provider @mutex.synchronize { @tracer_provider } end
Register the global tracer provider.
@param [TracerProvider] provider A tracer provider to register as the
global instance.
# File lib/opentelemetry.rb, line 52 def tracer_provider=(provider) @mutex.synchronize do if @tracer_provider.instance_of? Internal::ProxyTracerProvider logger.debug("Upgrading default proxy tracer provider to #{provider.class}") @tracer_provider.delegate = provider end @tracer_provider = provider end end