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