mirror of
https://github.com/hanzoai/metrics.git
synced 2026-10-30 20:03:39 +00:00
35 lines
1.1 KiB
Go
35 lines
1.1 KiB
Go
// Copyright The OpenTelemetry Authors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package component // import "go.opentelemetry.io/collector/component"
|
|
|
|
import (
|
|
"go.opentelemetry.io/otel/metric"
|
|
"go.opentelemetry.io/otel/trace"
|
|
"go.uber.org/zap"
|
|
|
|
"go.opentelemetry.io/collector/pdata/pcommon"
|
|
)
|
|
|
|
// TelemetrySettings provides components with APIs to report telemetry.
|
|
type TelemetrySettings struct {
|
|
// Logger that the factory can use during creation and can pass to the created
|
|
// component to be used later as well.
|
|
Logger *zap.Logger
|
|
|
|
// TracerProvider that the factory can pass to other instrumented third-party libraries.
|
|
//
|
|
// The service may wrap this provider for attribute injection. The wrapper may implement an
|
|
// additional `Unwrap() trace.TracerProvider` method to grant access to the underlying SDK.
|
|
TracerProvider trace.TracerProvider
|
|
|
|
// MeterProvider that the factory can pass to other instrumented third-party libraries.
|
|
MeterProvider metric.MeterProvider
|
|
|
|
// Resource contains the resource attributes for the collector's telemetry.
|
|
Resource pcommon.Resource
|
|
|
|
// prevent unkeyed literal initialization
|
|
_ struct{}
|
|
}
|