Path: blob/main/component/otelcol/exporter/logging/logging.go
4096 views
// Package logging provides an otelcol.exporter.logging component.1package logging23import (4"github.com/grafana/agent/component"5"github.com/grafana/agent/component/otelcol"6"github.com/grafana/agent/component/otelcol/exporter"7"github.com/grafana/agent/pkg/river"8otelcomponent "go.opentelemetry.io/collector/component"9otelconfig "go.opentelemetry.io/collector/config"10"go.opentelemetry.io/collector/config/configtelemetry"11loggingexporter "go.opentelemetry.io/collector/exporter/loggingexporter"12)1314func init() {15component.Register(component.Registration{16Name: "otelcol.exporter.logging",17Args: Arguments{},18Exports: otelcol.ConsumerExports{},1920Build: func(opts component.Options, args component.Arguments) (component.Component, error) {21fact := loggingexporter.NewFactory()22return exporter.New(opts, fact, args.(Arguments))23},24})25}2627// Arguments configures the otelcol.exporter.logging component.28type Arguments struct {29Verbosity configtelemetry.Level `river:"verbosity,attr,optional"`30SamplingInitial int `river:"sampling_initial,attr,optional"`31SamplingThereafter int `river:"sampling_thereafter,attr,optional"`32}3334var (35_ river.Unmarshaler = (*Arguments)(nil)36_ exporter.Arguments = Arguments{}37)3839// DefaultArguments holds default values for Arguments.40var DefaultArguments = Arguments{41Verbosity: configtelemetry.LevelNormal,42SamplingInitial: 2,43SamplingThereafter: 500,44}4546// UnmarshalRiver implements river.Unmarshaler.47func (args *Arguments) UnmarshalRiver(f func(interface{}) error) error {48*args = DefaultArguments49type arguments Arguments50return f((*arguments)(args))51}5253// Convert implements exporter.Arguments.54func (args Arguments) Convert() (otelconfig.Exporter, error) {55return &loggingexporter.Config{56ExporterSettings: otelconfig.NewExporterSettings(otelconfig.NewComponentID("logging")),57Verbosity: args.Verbosity,58SamplingInitial: args.SamplingInitial,59SamplingThereafter: args.SamplingInitial,60}, nil61}6263// Extensions implements exporter.Arguments.64func (args Arguments) Extensions() map[otelconfig.ComponentID]otelcomponent.Extension {65return nil66}6768// Exporters implements exporter.Arguments.69func (args Arguments) Exporters() map[otelconfig.DataType]map[otelconfig.ComponentID]otelcomponent.Exporter {70return nil71}727374