Module opentelemetry::sdk::resource
source · Expand description
Resource
A Resource
is an immutable representation of the entity producing telemetry. For example, a
process producing telemetry that is running in a container on Kubernetes has a Pod name, it is
in a namespace, and possibly is part of a Deployment which also has a name. All three of these
attributes can be included in the Resource
.
The primary purpose of resources as a first-class concept in the SDK is decoupling of discovery
of resource information from exporters. This allows for independent development and easy
customization for users that need to integrate with closed source environments. When used with
distributed tracing, a resource can be associated with the TracerProvider
when it is created.
That association cannot be changed later. When associated with a TracerProvider
, all Span
s
produced by any Tracer
from the provider are associated with this Resource
.
Resource detectors
ResourceDetector
s are used to detect resource from runtime or environmental variables. The
following ResourceDetector
s are provided along with this SDK.
- EnvResourceDetector, detect resource from environmental variables.
- OsResourceDetector, detect OS from runtime.
- ProcessResourceDetector, detect process information
Structs
- Resource detector implements ResourceDetector and is used to extract general SDK configuration from environment.
- An owned iterator over the entries of a
Resource
. - An iterator over the entries of a
Resource
. - Detect runtime operating system information.
- Detect process information.
- Describes an entity about which identifying information and metadata is exposed.
- There are the attributes which MUST be provided by the SDK as specified in the Resource SDK specification. This detector detect those attributes and if the attribute cannot be detected, use the default value.
Traits
- ResourceDetector detects OpenTelemetry resource information