in collector/exporter/googlemanagedprometheusexporter/factory.go [49:73]
func createMetricsExporter(
ctx context.Context,
params exporter.Settings,
cfg component.Config) (exporter.Metrics, error) {
eCfg := cfg.(*Config)
collectorConfig := eCfg.GMPConfig.toCollectorConfig()
collectorConfig.MetricConfig.CumulativeNormalization = false
mExp, err := collector.NewGoogleCloudMetricsExporter(ctx, collectorConfig, params.TelemetrySettings.Logger, params.TelemetrySettings.MeterProvider, params.BuildInfo.Version, eCfg.TimeoutSettings.Timeout)
if err != nil {
return nil, err
}
return exporterhelper.NewMetrics(
ctx,
params,
cfg,
mExp.PushMetrics,
exporterhelper.WithStart(mExp.Start),
exporterhelper.WithShutdown(mExp.Shutdown),
// Disable exporterhelper Timeout, since we are using a custom mechanism
// within exporter itself
exporterhelper.WithTimeout(exporterhelper.TimeoutConfig{Timeout: 0}),
exporterhelper.WithQueue(eCfg.QueueSettings),
exporterhelper.WithCapabilities(consumer.Capabilities{MutatesData: true}),
)
}