opentelemetry_collector/receiver/vmagereceiver/factory.go (34 lines of code) (raw):

package vmagereceiver import ( "context" "go.opentelemetry.io/collector/component" "go.opentelemetry.io/collector/config" "go.opentelemetry.io/collector/consumer" ) const ( typeStr = "vmage" ) // CreateDefaultConfig creates the default configuration for the receiver. func createDefaultConfig() config.Receiver { return &Config{ ReceiverSettings: config.NewReceiverSettings(config.NewComponentID(typeStr)), } } // CreateMetricsReceiver creates a metrics receiver based on the provided config. func createMetricsReceiver( ctx context.Context, params component.ReceiverCreateSettings, config config.Receiver, consumer consumer.Metrics, ) (component.MetricsReceiver, error) { cfg := config.(*Config) collector := NewVMAgeCollector(cfg.ExportInterval, cfg.BuildDate, cfg.VMImageName, cfg.VMStartTime, cfg.VMReadyTime, consumer, params.Logger) receiver := &Receiver{ vmAgeCollector: collector, } return receiver, nil } // NewFactory creates and returns a factory for the vm age receiver. func NewFactory() component.ReceiverFactory { return component.NewReceiverFactory( typeStr, createDefaultConfig, component.WithMetricsReceiver(createMetricsReceiver)) }