Documentation
¶
Index ¶
- func AttributesFromMap(m map[string]string) []attribute.KeyValue
- func StdoutSpanExporter() trace.SpanExporter
- type Builder
- type Config
- type ExporterOTLPConfig
- type MeterProvider
- type MeterProviderBuilder
- func (met *MeterProviderBuilder) Build(opts ...metric.Option) (*metric.MeterProvider, error)
- func (met *MeterProviderBuilder) With(opts ...metric.Option) *MeterProviderBuilder
- func (met *MeterProviderBuilder) WithGrpcExporter(opts ...otlpmetricgrpc.Option) *MeterProviderBuilder
- func (met *MeterProviderBuilder) WithPrometheusExporter(reg prometheus.Registerer, views ...metric.View) *MeterProviderBuilder
- func (met *MeterProviderBuilder) WithReader(r metric.Reader, views ...metric.View) *MeterProviderBuilder
- type MeterProviderConfig
- type Provider
- type Telemetry
- type TracerProvider
- type TracerProviderBuilder
- func (tra *TracerProviderBuilder) Build(opts ...trace.TracerProviderOption) (*trace.TracerProvider, error)
- func (tra *TracerProviderBuilder) With(opts ...trace.TracerProviderOption) *TracerProviderBuilder
- func (tra *TracerProviderBuilder) WithAttributes(attrs ...attribute.KeyValue) *TracerProviderBuilder
- func (tra *TracerProviderBuilder) WithBuildInfo(info *debug.BuildInfo, modules ...string) *TracerProviderBuilder
- func (tra *TracerProviderBuilder) WithGrpcExporter(opts ...otlptracegrpc.Option) *TracerProviderBuilder
- func (tra *TracerProviderBuilder) WithSampler(sample trace.Sampler) *TracerProviderBuilder
- func (tra *TracerProviderBuilder) WithSpanExporters(exporters ...trace.SpanExporter) *TracerProviderBuilder
- type TracerProviderConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func StdoutSpanExporter ¶
func StdoutSpanExporter() trace.SpanExporter
Types ¶
type Builder ¶
type Builder struct {
Config
MeterProvider *MeterProviderBuilder
TracerProvider *TracerProviderBuilder
}
func NewBuilder ¶
func NewDevelopmentBuilder ¶
func (*Builder) WithDefaultExporter ¶
type Config ¶
type Config struct {
Meter MeterProviderConfig
Tracer TracerProviderConfig
// https://opentelemetry.io/docs/languages/sdk-configuration/general/
ServiceName string `env:"OTEL_SERVICE_NAME"`
ResourceAttributes map[string]string `env:"OTEL_RESOURCE_ATTRIBUTES"`
ExporterOTLP ExporterOTLPConfig
}
type ExporterOTLPConfig ¶
type ExporterOTLPConfig struct {
Endpoint string `env:"OTEL_EXPORTER_OTLP_ENDPOINT"`
Headers string `env:"OTEL_EXPORTER_OTLP_HEADERS"`
Protocol string `env:"OTEL_EXPORTER_OTLP_PROTOCOL" default:"grpc"`
Timeout uint64 `env:"OTEL_EXPORTER_OTLP_TIMEOUT" default:"10000"` // 10s
Certificate string `env:"OTEL_EXPORTER_OTLP_CERTIFICATE"`
ClientKey string `env:"OTEL_EXPORTER_OTLP_CLIENT_KEY"`
ClientCertificate string `env:"OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE"`
}
func (ExporterOTLPConfig) TimeoutDuration ¶
func (c ExporterOTLPConfig) TimeoutDuration() time.Duration
type MeterProvider ¶
type MeterProvider = metric.MeterProvider
type MeterProviderBuilder ¶
type MeterProviderBuilder struct {
*MeterProviderConfig
DisableRuntimeMetrics bool
SetGlobal bool
// contains filtered or unexported fields
}
func NewMeterProviderBuilder ¶
func NewMeterProviderBuilder(conf *MeterProviderConfig) *MeterProviderBuilder
func (*MeterProviderBuilder) Build ¶
func (met *MeterProviderBuilder) Build(opts ...metric.Option) (*metric.MeterProvider, error)
func (*MeterProviderBuilder) With ¶
func (met *MeterProviderBuilder) With(opts ...metric.Option) *MeterProviderBuilder
func (*MeterProviderBuilder) WithGrpcExporter ¶
func (met *MeterProviderBuilder) WithGrpcExporter(opts ...otlpmetricgrpc.Option) *MeterProviderBuilder
func (*MeterProviderBuilder) WithPrometheusExporter ¶
func (met *MeterProviderBuilder) WithPrometheusExporter(reg prometheus.Registerer, views ...metric.View) *MeterProviderBuilder
func (*MeterProviderBuilder) WithReader ¶
func (met *MeterProviderBuilder) WithReader(r metric.Reader, views ...metric.View) *MeterProviderBuilder
type MeterProviderConfig ¶
type MeterProviderConfig struct {
Enabled bool `env:"OTEL_METRIC_ENABLED" default:"true"`
// ExportInterval is the time interval (in milliseconds) between the start
// of two export attempts.
ExportInterval int `env:"OTEL_METRIC_EXPORT_INTERVAL" default:"60000"`
// ExportTimeout is the maximum allowed time (in milliseconds) to export
// data.
ExportTimeout int `env:"OTEL_METRIC_EXPORT_TIMEOUT" default:"30000"`
}
MeterProviderConfig holds the configuration for the MeterProviderBuilder. These values may be set using any external source, such as environment variables, config files, etc.
func (MeterProviderConfig) ExportIntervalDuration ¶
func (c MeterProviderConfig) ExportIntervalDuration() time.Duration
func (MeterProviderConfig) ExportTimeoutDuration ¶
func (c MeterProviderConfig) ExportTimeoutDuration() time.Duration
type Provider ¶
type Provider interface {
MeterProvider() MeterProvider
TracerProvider() TracerProvider
}
type Telemetry ¶
type Telemetry struct {
// contains filtered or unexported fields
}
Telemetry is a wrapper around a MeterProvider and TracerProvider.
func New ¶
func New(m *metricsdk.MeterProvider, t *tracesdk.TracerProvider) *Telemetry
func (*Telemetry) ForceFlush ¶
ForceFlush flushes all pending telemetry and/or immediately exports all spans that have not yet been exported for all the registered span processors, depending on whether a MeterProvider and/or TracerProvider is configured. See MeterProvider.ForceFlush and TracerProvider.ForceFlush for more details.
func (*Telemetry) MeterProvider ¶
func (t *Telemetry) MeterProvider() MeterProvider
MeterProvider returns the configured MeterProvider or a noop MeterProvider when none is configured.
func (*Telemetry) Shutdown ¶
Shutdown shuts down the MeterProvider and/or TracerProvider depending on whether they are configured. See MeterProvider.Shutdown and TracerProvider.Shutdown for more details.
func (*Telemetry) TracerProvider ¶
func (t *Telemetry) TracerProvider() TracerProvider
TracerProvider returns the configured TracerProvider or a noop TracerProvider when none is configured.
type TracerProvider ¶
type TracerProvider = trace.TracerProvider
type TracerProviderBuilder ¶
type TracerProviderBuilder struct {
*TracerProviderConfig
SetGlobal bool
Attributes []attribute.KeyValue
Sampler trace.Sampler
SpanExporters []trace.SpanExporter
// contains filtered or unexported fields
}
func NewTracerProviderBuilder ¶
func NewTracerProviderBuilder(conf *TracerProviderConfig) *TracerProviderBuilder
func (*TracerProviderBuilder) Build ¶
func (tra *TracerProviderBuilder) Build(opts ...trace.TracerProviderOption) (*trace.TracerProvider, error)
func (*TracerProviderBuilder) With ¶
func (tra *TracerProviderBuilder) With(opts ...trace.TracerProviderOption) *TracerProviderBuilder
func (*TracerProviderBuilder) WithAttributes ¶
func (tra *TracerProviderBuilder) WithAttributes(attrs ...attribute.KeyValue) *TracerProviderBuilder
func (*TracerProviderBuilder) WithBuildInfo ¶
func (tra *TracerProviderBuilder) WithBuildInfo(info *debug.BuildInfo, modules ...string) *TracerProviderBuilder
func (*TracerProviderBuilder) WithGrpcExporter ¶
func (tra *TracerProviderBuilder) WithGrpcExporter(opts ...otlptracegrpc.Option) *TracerProviderBuilder
func (*TracerProviderBuilder) WithSampler ¶
func (tra *TracerProviderBuilder) WithSampler(sample trace.Sampler) *TracerProviderBuilder
func (*TracerProviderBuilder) WithSpanExporters ¶
func (tra *TracerProviderBuilder) WithSpanExporters(exporters ...trace.SpanExporter) *TracerProviderBuilder