Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { EBPF ebpfcommon.TracerConfig `yaml:"ebpf"` // Routes is an optional node. If not set, data will be directly forwarded to exporters. Routes *transform.RoutesConfig `yaml:"routes"` Kubernetes transform.KubernetesDecorator `yaml:"kubernetes"` Metrics otel.MetricsConfig `yaml:"otel_metrics_export"` Traces otel.TracesConfig `yaml:"otel_traces_export"` Prometheus prom.PrometheusConfig `yaml:"prometheus_export"` Printer debug.PrintEnabled `yaml:"print_traces" env:"PRINT_TRACES"` // Exec allows selecting the instrumented executable whose complete path contains the Exec value. Exec services.PathRegexp `yaml:"executable_name" env:"EXECUTABLE_NAME"` // Port allows selecting the instrumented executable that owns the Port value. If this value is set (and // different to zero), the value of the Exec property won't take effect. // It's important to emphasize that if your process opens multiple HTTP/GRPC ports, the auto-instrumenter // will instrument all the service calls in all the ports, not only the port specified here. Port services.PortEnum `yaml:"open_port" env:"OPEN_PORT"` // ServiceName is taken from either SERVICE_NAME env var or OTEL_SERVICE_NAME (for OTEL spec compatibility) // Using env and envDefault is a trick to get the value either from one of either variables ServiceName string `yaml:"service_name" env:"OTEL_SERVICE_NAME,expand" envDefault:"${SERVICE_NAME}"` ServiceNamespace string `yaml:"service_namespace" env:"SERVICE_NAMESPACE"` // Discovery configuration Discovery services.DiscoveryConfig `yaml:"discovery"` LogLevel string `yaml:"log_level" env:"LOG_LEVEL"` ChannelBufferLen int `yaml:"channel_buffer_len" env:"CHANNEL_BUFFER_LEN"` Noop debug.NoopEnabled `yaml:"noop" env:"NOOP_TRACES"` ProfilePort int `yaml:"profile_port" env:"PROFILE_PORT"` InternalMetrics imetrics.Config `yaml:"internal_metrics"` }
func LoadConfig ¶
LoadConfig overrides configuration in the following order (from less to most priority) 1 - Default configuration (defaultConfig variable) 2 - Contents of the provided file reader (nillable) 3 - Environment variables
type ConfigError ¶
type ConfigError string
func (ConfigError) Error ¶
func (e ConfigError) Error() string
type Instrumenter ¶
type Instrumenter struct {
// contains filtered or unexported fields
}
func Build ¶
func Build(ctx context.Context, config *Config, ctxInfo *global.ContextInfo, tracesCh <-chan []request.Span) (*Instrumenter, error)
Build instantiates the whole instrumentation --> processing --> submit pipeline graph and returns it as a startable item
func (*Instrumenter) Run ¶
func (i *Instrumenter) Run(ctx context.Context)
Click to show internal directories.
Click to hide internal directories.