func()

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
}