in confgenerator/confgenerator.go [25:51]
func (rc *RunMonitoringConfig) GenerateOtelConfig(ctx context.Context, selfMetricsPort int) (string, error) {
userAgent, _ := UserAgent("Google-Cloud-Run-GMP-Sidecar", "run-gmp", Version)
metricVersionLabel, _ := VersionLabel("run-gmp-sidecar")
receiverPipelines := make(map[string]otel.ReceiverPipeline)
sidecarPipeline, err := rc.OTelReceiverPipeline()
if err != nil {
return "", err
}
receiverPipelines["application-metrics"] = *sidecarPipeline
log.Printf("confgenerator: using port %d for self metrics", selfMetricsPort)
receiverPipelines["run-gmp-self-metrics"] = AgentSelfMetrics{
Version: metricVersionLabel,
Port: selfMetricsPort,
Service: rc.Env.Service,
}.OTelReceiverPipeline()
otelConfig, err := otel.ModularConfig{
ReceiverPipelines: receiverPipelines,
Exporter: googleManagedPrometheusExporter(userAgent),
SelfMetricsPort: selfMetricsPort,
}.Generate()
if err != nil {
return "", err
}
return otelConfig, nil
}