12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package main
- import (
- "context"
- "go.opentelemetry.io/collector/component"
- "go.opentelemetry.io/collector/component/componenttest"
- "go.opentelemetry.io/collector/consumer/consumertest"
- "go.opentelemetry.io/collector/exporter"
- )
- const typeStr = "nop"
- // NewNopCreateSettings returns a new nop settings for Create*Exporter functions.
- func NewNopCreateSettings() exporter.CreateSettings {
- return exporter.CreateSettings{
- TelemetrySettings: componenttest.NewNopTelemetrySettings(),
- BuildInfo: component.NewDefaultBuildInfo(),
- }
- }
- // NewNopFactory returns an exporter.Factory that constructs nop exporters.
- func NewNopFactory() exporter.Factory {
- return exporter.NewFactory(
- "nop",
- func() component.Config { return &nopConfig{} },
- exporter.WithTraces(createTracesExporter, component.StabilityLevelStable),
- exporter.WithMetrics(createMetricsExporter, component.StabilityLevelStable),
- exporter.WithLogs(createLogsExporter, component.StabilityLevelStable),
- )
- }
- func createTracesExporter(context.Context, exporter.CreateSettings, component.Config) (exporter.Traces, error) {
- return nopInstance, nil
- }
- func createMetricsExporter(context.Context, exporter.CreateSettings, component.Config) (exporter.Metrics, error) {
- return nopInstance, nil
- }
- func createLogsExporter(context.Context, exporter.CreateSettings, component.Config) (exporter.Logs, error) {
- return nopInstance, nil
- }
- type nopConfig struct{}
- var nopInstance = &nopExporter{
- Consumer: consumertest.NewNop(),
- }
- // nopExporter stores consumed traces and metrics for testing purposes.
- type nopExporter struct {
- component.StartFunc
- component.ShutdownFunc
- consumertest.Consumer
- }
- // NewNopBuilder returns an exporter.Builder that constructs nop receivers.
- func NewNopBuilder() *exporter.Builder {
- nopFactory := NewNopFactory()
- return exporter.NewBuilder(
- map[component.ID]component.Config{component.NewID(typeStr): nopFactory.CreateDefaultConfig()},
- map[component.Type]exporter.Factory{typeStr: nopFactory})
- }
|