diff --git a/confgenerator/agentmetrics.go b/confgenerator/agentmetrics.go index 6ea3434372..ec6dce1c68 100644 --- a/confgenerator/agentmetrics.go +++ b/confgenerator/agentmetrics.go @@ -15,6 +15,7 @@ package confgenerator import ( + "context" "fmt" "path/filepath" "time" @@ -56,9 +57,9 @@ var grpcToHTTPStatus = map[string]string{ "DEADLINE_EXCEEDED": "504", } -func (r AgentSelfMetrics) AddSelfMetricsPipelines(receiverPipelines map[string]otel.ReceiverPipeline, pipelines map[string]otel.Pipeline) { +func (r AgentSelfMetrics) AddSelfMetricsPipelines(receiverPipelines map[string]otel.ReceiverPipeline, pipelines map[string]otel.Pipeline, ctx context.Context) { // Receiver pipelines names should have 1 underscore to avoid collision with user configurations. - receiverPipelines["agent_prometheus"] = r.PrometheusMetricsPipeline() + receiverPipelines["agent_prometheus"] = r.PrometheusMetricsPipeline(ctx) // Pipeline names should have no underscores to avoid collision with user configurations. pipelines["otel"] = otel.Pipeline{ @@ -79,15 +80,15 @@ func (r AgentSelfMetrics) AddSelfMetricsPipelines(receiverPipelines map[string]o Processors: r.LoggingMetricsPipelineProcessors(), } - receiverPipelines["ops_agent"] = r.OpsAgentPipeline() + receiverPipelines["ops_agent"] = r.OpsAgentPipeline(ctx) pipelines["opsagent"] = otel.Pipeline{ Type: "metrics", ReceiverPipelineName: "ops_agent", } } -func (r AgentSelfMetrics) PrometheusMetricsPipeline() otel.ReceiverPipeline { - return otel.ReceiverPipeline{ +func (r AgentSelfMetrics) PrometheusMetricsPipeline(ctx context.Context) otel.ReceiverPipeline { + return ConvertGCMSystemExporterToOtlpExporter(otel.ReceiverPipeline{ Receiver: otel.Component{ Type: "prometheus", Config: map[string]interface{}{ @@ -128,7 +129,7 @@ func (r AgentSelfMetrics) PrometheusMetricsPipeline() otel.ReceiverPipeline { ), }, }, - } + }, ctx) } func (r AgentSelfMetrics) OtelPipelineProcessors() []otel.Component { @@ -303,18 +304,18 @@ func (r AgentSelfMetrics) LoggingMetricsPipelineProcessors() []otel.Component { } } -func (r AgentSelfMetrics) OpsAgentPipeline() otel.ReceiverPipeline { - receiver_config := map[string]any{ +func (r AgentSelfMetrics) OpsAgentPipeline(ctx context.Context) otel.ReceiverPipeline { + receiverConfig := map[string]any{ "include": []string{ filepath.Join(r.OtelRuntimeDir, "enabled_receivers_otlp.json"), filepath.Join(r.OtelRuntimeDir, "feature_tracking_otlp.json")}, "replay_file": true, "poll_interval": time.Duration(60 * time.Second).String(), } - return otel.ReceiverPipeline{ + return ConvertGCMSystemExporterToOtlpExporter(otel.ReceiverPipeline{ Receiver: otel.Component{ Type: "otlpjsonfile", - Config: receiver_config, + Config: receiverConfig, }, ExporterTypes: map[string]otel.ExporterType{ "metrics": otel.System, @@ -324,7 +325,7 @@ func (r AgentSelfMetrics) OpsAgentPipeline() otel.ReceiverPipeline { otel.Transform("metric", "datapoint", []ottl.Statement{"set(time, Now())"}), }, }, - } + }, ctx) } // intentionally not registered as a component because this is not created by users diff --git a/confgenerator/confgenerator.go b/confgenerator/confgenerator.go index 679d66b50a..3b460d4e1b 100644 --- a/confgenerator/confgenerator.go +++ b/confgenerator/confgenerator.go @@ -82,7 +82,6 @@ func ConvertGCMSystemExporterToOtlpExporter(pipeline otel.ReceiverPipeline, ctx func ConvertToOtlpExporter(pipeline otel.ReceiverPipeline, ctx context.Context, isPrometheus bool, isSystem bool) otel.ReceiverPipeline { expOtlpExporter := experimentsFromContext(ctx)["otlp_exporter"] - resource, _ := platform.FromContext(ctx).GetResource() if !expOtlpExporter { return pipeline } @@ -91,7 +90,6 @@ func ConvertToOtlpExporter(pipeline otel.ReceiverPipeline, ctx context.Context, return pipeline } pipeline.ExporterTypes["metrics"] = otel.OTLP - pipeline.Processors["metrics"] = append(pipeline.Processors["metrics"], otel.GCPProjectID(resource.ProjectName())) if isSystem { pipeline.Processors["metrics"] = append(pipeline.Processors["metrics"], otel.MetricsRemoveInstrumentationLibraryLabelsAttributes()) pipeline.Processors["metrics"] = append(pipeline.Processors["metrics"], otel.MetricsRemoveServiceAttributes()) @@ -100,9 +98,7 @@ func ConvertToOtlpExporter(pipeline otel.ReceiverPipeline, ctx context.Context, // b/476109839: For prometheus metrics using the OTLP exporter. The dots "." in the metric name are NOT replaced with underscore "_". // This is diffrent from the GMP endpoint. if isPrometheus { - pipeline.Processors["metrics"] = append(pipeline.Processors["metrics"], otel.MetricUnknownCounter()) - pipeline.Processors["metrics"] = append(pipeline.Processors["metrics"], otel.MetricStartTime()) // If a metric already has a domain, it will not be considered a prometheus metric by the UTR endpoint unless we add the prefix. // This behavior is the same as the GCM/GMP exporters. pipeline.Processors["metrics"] = append(pipeline.Processors["metrics"], otel.MetricsTransform(otel.AddPrefix("prometheus.googleapis.com"))) @@ -191,7 +187,8 @@ func (uc *UnifiedConfig) GenerateOtelConfig(ctx context.Context, outDir, stateDi OtelRuntimeDir: outDir, OtelLogging: uc.Logging.Service.OTelLogging, } - agentSelfMetrics.AddSelfMetricsPipelines(receiverPipelines, pipelines) + agentSelfMetrics.AddSelfMetricsPipelines(receiverPipelines, pipelines, ctx) + resource, _ := p.GetResource() otelConfig, err := otel.ModularConfig{ LogLevel: uc.getOTelLogLevel(), @@ -214,6 +211,8 @@ func (uc *UnifiedConfig) GenerateOtelConfig(ctx context.Context, outDir, stateDi // The OTLP exporter doesn't batch by default like the googlecloud.* exporters. // We need this to avoid the API point limits. "metrics": { + otel.GCPProjectID(resource.ProjectName()), + otel.MetricStartTime(), otel.BatchProcessor(200, 200, "200ms"), }, // Batching logs improves log export performance. diff --git a/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/linux-gpu/otel.yaml b/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/linux-gpu/otel.yaml index 0892d71347..7826816a29 100644 --- a/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/linux-gpu/otel.yaml +++ b/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/linux-gpu/otel.yaml @@ -1,12 +1,4 @@ exporters: - googlecloud: - metric: - instrumentation_library_labels: false - prefix: "" - resource_filters: [] - service_resource_labels: false - skip_create_descriptor: true - user_agent: Google-Cloud-Ops-Agent-Metrics/latest (BuildDistro=build_distro;Platform=linux;ShortName=linux_platform;ShortVersion=linux_platform_version) googlecloud/otel: metric: instrumentation_library_labels: true @@ -27,7 +19,7 @@ processors: agentmetrics/hostmetrics_0: blank_label_metrics: - system.cpu.utilization - batch/otlphttp/otlp_metrics_0: + batch/otlphttp/otlp_metrics_2: send_batch_max_size: 200 send_batch_size: 200 timeout: 200ms @@ -103,7 +95,7 @@ processors: - location interval/loggingmetrics_7: interval: 1m - metricstarttime/otlp_5: + metricstarttime/otlphttp/otlp_metrics_1: strategy: subtract_initial_point metricstransform/fluentbit_1: transforms: @@ -604,23 +596,13 @@ processors: include: ^(.*)$$ match_type: regexp new_name: agent.googleapis.com/$${1} - metricstransform/otlp_6: + metricstransform/otlp_4: transforms: - action: update include: ^(.*)$$ match_type: regexp new_name: prometheus.googleapis.com/$${1} - resource/hostmetrics_1_1: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/hostmetrics_3: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/otlp_3: + resource/otlphttp/otlp_metrics_0: attributes: - action: insert key: gcp.project_id @@ -645,13 +627,13 @@ processors: - delete_key(resource.attributes, "service.instance.id") - delete_key(resource.attributes, "server.port") - delete_key(resource.attributes, "url.scheme") - transform/hostmetrics_1_2: + transform/agent_prometheus_1: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/hostmetrics_1_3: + transform/agent_prometheus_2: metric_statements: - context: resource error_mode: silent @@ -660,13 +642,28 @@ processors: - delete_key(attributes, "service.instance.id") - delete_key(attributes, "service.namespace") - delete_key(attributes, "service.version") - transform/hostmetrics_4: + transform/hostmetrics_1_1: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/hostmetrics_5: + transform/hostmetrics_1_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") + transform/hostmetrics_3: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/hostmetrics_4: metric_statements: - context: resource error_mode: silent @@ -702,6 +699,21 @@ processors: - context: datapoint statements: - set(time, Now()) + transform/ops_agent_1: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/ops_agent_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") transform/otel_0: error_mode: ignore metric_statements: @@ -718,7 +730,7 @@ processors: - set(attributes["cluster"], "__gce__") where "__gce__" != nil and resource.attributes["cloud.platform"] == "gcp_compute_engine" - set(attributes["instance_name"], resource.attributes["host.name"]) where resource.attributes["host.name"] != nil and resource.attributes["cloud.platform"] == "gcp_compute_engine" - set(attributes["machine_type"], resource.attributes["host.type"]) where resource.attributes["host.type"] != nil and resource.attributes["cloud.platform"] == "gcp_compute_engine" - transform/otlp_4: + transform/otlp_3: error_mode: ignore metric_statements: - context: metric @@ -779,12 +791,13 @@ service: - agentmetrics/hostmetrics_0 - filter/hostmetrics_1 - metricstransform/hostmetrics_2 - - resource/hostmetrics_3 + - transform/hostmetrics_3 - transform/hostmetrics_4 - - transform/hostmetrics_5 - filter/default__pipeline_hostmetrics_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - hostmetrics/hostmetrics metrics/default__pipeline_hostmetrics_1: @@ -792,29 +805,37 @@ service: - otlphttp/otlp processors: - metricstransform/hostmetrics_1_0 - - resource/hostmetrics_1_1 + - transform/hostmetrics_1_1 - transform/hostmetrics_1_2 - - transform/hostmetrics_1_3 - filter/default__pipeline_hostmetrics_1_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - nvml/hostmetrics_1 metrics/fluentbit: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - filter/fluentbit_0 - metricstransform/fluentbit_1 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/loggingmetrics: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/loggingmetrics_0 - filter/loggingmetrics_1 - filter/loggingmetrics_2 @@ -825,26 +846,39 @@ service: - interval/loggingmetrics_7 - metricstransform/loggingmetrics_8 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/opsagent: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/ops_agent_0 + - transform/ops_agent_1 + - transform/ops_agent_2 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - otlpjsonfile/ops_agent metrics/otel: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/otel_0 - filter/otel_1 - filter/otel_2 - metricstransform/otel_3 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/otlp_otlp: @@ -854,11 +888,11 @@ service: - resourcedetection/otlp_0 - transform/otlp_1 - groupbyattrs/otlp_2 - - resource/otlp_3 - - transform/otlp_4 - - metricstarttime/otlp_5 - - metricstransform/otlp_6 - - batch/otlphttp/otlp_metrics_0 + - transform/otlp_3 + - metricstransform/otlp_4 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - otlp/otlp traces/traces_otlp_otlp: diff --git a/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/linux/otel.yaml b/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/linux/otel.yaml index abaab538dd..ce9025b0ab 100644 --- a/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/linux/otel.yaml +++ b/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/linux/otel.yaml @@ -1,12 +1,4 @@ exporters: - googlecloud: - metric: - instrumentation_library_labels: false - prefix: "" - resource_filters: [] - service_resource_labels: false - skip_create_descriptor: true - user_agent: Google-Cloud-Ops-Agent-Metrics/latest (BuildDistro=build_distro;Platform=linux;ShortName=linux_platform;ShortVersion=linux_platform_version) googlecloud/otel: metric: instrumentation_library_labels: true @@ -27,7 +19,7 @@ processors: agentmetrics/hostmetrics_0: blank_label_metrics: - system.cpu.utilization - batch/otlphttp/otlp_metrics_0: + batch/otlphttp/otlp_metrics_2: send_batch_max_size: 200 send_batch_size: 200 timeout: 200ms @@ -98,7 +90,7 @@ processors: - location interval/loggingmetrics_7: interval: 1m - metricstarttime/otlp_5: + metricstarttime/otlphttp/otlp_metrics_1: strategy: subtract_initial_point metricstransform/fluentbit_1: transforms: @@ -575,18 +567,13 @@ processors: include: ^(.*)$$ match_type: regexp new_name: agent.googleapis.com/$${1} - metricstransform/otlp_6: + metricstransform/otlp_4: transforms: - action: update include: ^(.*)$$ match_type: regexp new_name: prometheus.googleapis.com/$${1} - resource/hostmetrics_3: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/otlp_3: + resource/otlphttp/otlp_metrics_0: attributes: - action: insert key: gcp.project_id @@ -611,13 +598,28 @@ processors: - delete_key(resource.attributes, "service.instance.id") - delete_key(resource.attributes, "server.port") - delete_key(resource.attributes, "url.scheme") - transform/hostmetrics_4: + transform/agent_prometheus_1: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/hostmetrics_5: + transform/agent_prometheus_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") + transform/hostmetrics_3: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/hostmetrics_4: metric_statements: - context: resource error_mode: silent @@ -653,6 +655,21 @@ processors: - context: datapoint statements: - set(time, Now()) + transform/ops_agent_1: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/ops_agent_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") transform/otel_0: error_mode: ignore metric_statements: @@ -669,7 +686,7 @@ processors: - set(attributes["cluster"], "__gce__") where "__gce__" != nil and resource.attributes["cloud.platform"] == "gcp_compute_engine" - set(attributes["instance_name"], resource.attributes["host.name"]) where resource.attributes["host.name"] != nil and resource.attributes["cloud.platform"] == "gcp_compute_engine" - set(attributes["machine_type"], resource.attributes["host.type"]) where resource.attributes["host.type"] != nil and resource.attributes["cloud.platform"] == "gcp_compute_engine" - transform/otlp_4: + transform/otlp_3: error_mode: ignore metric_statements: - context: metric @@ -728,29 +745,37 @@ service: - agentmetrics/hostmetrics_0 - filter/hostmetrics_1 - metricstransform/hostmetrics_2 - - resource/hostmetrics_3 + - transform/hostmetrics_3 - transform/hostmetrics_4 - - transform/hostmetrics_5 - filter/default__pipeline_hostmetrics_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - hostmetrics/hostmetrics metrics/fluentbit: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - filter/fluentbit_0 - metricstransform/fluentbit_1 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/loggingmetrics: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/loggingmetrics_0 - filter/loggingmetrics_1 - filter/loggingmetrics_2 @@ -761,26 +786,39 @@ service: - interval/loggingmetrics_7 - metricstransform/loggingmetrics_8 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/opsagent: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/ops_agent_0 + - transform/ops_agent_1 + - transform/ops_agent_2 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - otlpjsonfile/ops_agent metrics/otel: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/otel_0 - filter/otel_1 - filter/otel_2 - metricstransform/otel_3 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/otlp_otlp: @@ -790,11 +828,11 @@ service: - resourcedetection/otlp_0 - transform/otlp_1 - groupbyattrs/otlp_2 - - resource/otlp_3 - - transform/otlp_4 - - metricstarttime/otlp_5 - - metricstransform/otlp_6 - - batch/otlphttp/otlp_metrics_0 + - transform/otlp_3 + - metricstransform/otlp_4 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - otlp/otlp traces/traces_otlp_otlp: diff --git a/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/windows-2012/otel.yaml b/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/windows-2012/otel.yaml index 77dcb48596..24123279f3 100644 --- a/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/windows-2012/otel.yaml +++ b/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/windows-2012/otel.yaml @@ -1,12 +1,4 @@ exporters: - googlecloud: - metric: - instrumentation_library_labels: false - prefix: "" - resource_filters: [] - service_resource_labels: false - skip_create_descriptor: true - user_agent: Google-Cloud-Ops-Agent-Metrics/latest (BuildDistro=build_distro;Platform=windows;ShortName=win_platform;ShortVersion=win_platform_version) googlecloud/otel: metric: instrumentation_library_labels: true @@ -27,7 +19,7 @@ processors: agentmetrics/hostmetrics_0: blank_label_metrics: - system.cpu.utilization - batch/otlphttp/otlp_metrics_0: + batch/otlphttp/otlp_metrics_2: send_batch_max_size: 200 send_batch_size: 200 timeout: 200ms @@ -113,7 +105,7 @@ processors: - location interval/loggingmetrics_7: interval: 1m - metricstarttime/otlp_5: + metricstarttime/otlphttp/otlp_metrics_1: strategy: subtract_initial_point metricstransform/fluentbit_1: transforms: @@ -640,29 +632,14 @@ processors: include: ^(.*)$$ match_type: regexp new_name: agent.googleapis.com/$${1} - metricstransform/otlp_6: + metricstransform/otlp_4: transforms: - action: update include: ^(.*)$$ match_type: regexp new_name: prometheus.googleapis.com/$${1} normalizesums/iis_2: {} - resource/hostmetrics_3: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/iis_4: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/mssql_2: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/otlp_3: + resource/otlphttp/otlp_metrics_0: attributes: - action: insert key: gcp.project_id @@ -687,13 +664,28 @@ processors: - delete_key(resource.attributes, "service.instance.id") - delete_key(resource.attributes, "server.port") - delete_key(resource.attributes, "url.scheme") - transform/hostmetrics_4: + transform/agent_prometheus_1: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/hostmetrics_5: + transform/agent_prometheus_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") + transform/hostmetrics_3: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/hostmetrics_4: metric_statements: - context: resource error_mode: silent @@ -708,13 +700,13 @@ processors: statements: - set(name, "agent.googleapis.com/iis") - set(version, "1.0") - transform/iis_5: + transform/iis_4: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/iis_6: + transform/iis_5: metric_statements: - context: resource error_mode: silent @@ -750,13 +742,13 @@ processors: statements: - set(name, "agent.googleapis.com/mssql") - set(version, "1.0") - transform/mssql_3: + transform/mssql_2: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/mssql_4: + transform/mssql_3: metric_statements: - context: resource error_mode: silent @@ -771,6 +763,21 @@ processors: - context: datapoint statements: - set(time, Now()) + transform/ops_agent_1: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/ops_agent_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") transform/otel_0: error_mode: ignore metric_statements: @@ -787,7 +794,7 @@ processors: - set(attributes["cluster"], "__gce__") where "__gce__" != nil and resource.attributes["cloud.platform"] == "gcp_compute_engine" - set(attributes["instance_name"], resource.attributes["host.name"]) where resource.attributes["host.name"] != nil and resource.attributes["cloud.platform"] == "gcp_compute_engine" - set(attributes["machine_type"], resource.attributes["host.type"]) where resource.attributes["host.type"] != nil and resource.attributes["cloud.platform"] == "gcp_compute_engine" - transform/otlp_4: + transform/otlp_3: error_mode: ignore metric_statements: - context: metric @@ -881,12 +888,13 @@ service: - agentmetrics/hostmetrics_0 - filter/hostmetrics_1 - metricstransform/hostmetrics_2 - - resource/hostmetrics_3 + - transform/hostmetrics_3 - transform/hostmetrics_4 - - transform/hostmetrics_5 - filter/default__pipeline_hostmetrics_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - hostmetrics/hostmetrics metrics/default__pipeline_iis: @@ -897,12 +905,13 @@ service: - casttosum/iis_1 - normalizesums/iis_2 - transform/iis_3 - - resource/iis_4 + - transform/iis_4 - transform/iis_5 - - transform/iis_6 - filter/default__pipeline_iis_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - windowsperfcounters/iis metrics/default__pipeline_mssql: @@ -911,29 +920,37 @@ service: processors: - metricstransform/mssql_0 - transform/mssql_1 - - resource/mssql_2 + - transform/mssql_2 - transform/mssql_3 - - transform/mssql_4 - filter/default__pipeline_mssql_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - windowsperfcounters/mssql metrics/fluentbit: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - filter/fluentbit_0 - metricstransform/fluentbit_1 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/loggingmetrics: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/loggingmetrics_0 - filter/loggingmetrics_1 - filter/loggingmetrics_2 @@ -944,26 +961,39 @@ service: - interval/loggingmetrics_7 - metricstransform/loggingmetrics_8 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/opsagent: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/ops_agent_0 + - transform/ops_agent_1 + - transform/ops_agent_2 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - otlpjsonfile/ops_agent metrics/otel: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/otel_0 - filter/otel_1 - filter/otel_2 - metricstransform/otel_3 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/otlp_otlp: @@ -973,11 +1003,11 @@ service: - resourcedetection/otlp_0 - transform/otlp_1 - groupbyattrs/otlp_2 - - resource/otlp_3 - - transform/otlp_4 - - metricstarttime/otlp_5 - - metricstransform/otlp_6 - - batch/otlphttp/otlp_metrics_0 + - transform/otlp_3 + - metricstransform/otlp_4 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - otlp/otlp traces/traces_otlp_otlp: diff --git a/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/windows/otel.yaml b/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/windows/otel.yaml index 77dcb48596..24123279f3 100644 --- a/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/windows/otel.yaml +++ b/confgenerator/testdata/goldens/combined-receiver_otlp_otlphttp/golden/windows/otel.yaml @@ -1,12 +1,4 @@ exporters: - googlecloud: - metric: - instrumentation_library_labels: false - prefix: "" - resource_filters: [] - service_resource_labels: false - skip_create_descriptor: true - user_agent: Google-Cloud-Ops-Agent-Metrics/latest (BuildDistro=build_distro;Platform=windows;ShortName=win_platform;ShortVersion=win_platform_version) googlecloud/otel: metric: instrumentation_library_labels: true @@ -27,7 +19,7 @@ processors: agentmetrics/hostmetrics_0: blank_label_metrics: - system.cpu.utilization - batch/otlphttp/otlp_metrics_0: + batch/otlphttp/otlp_metrics_2: send_batch_max_size: 200 send_batch_size: 200 timeout: 200ms @@ -113,7 +105,7 @@ processors: - location interval/loggingmetrics_7: interval: 1m - metricstarttime/otlp_5: + metricstarttime/otlphttp/otlp_metrics_1: strategy: subtract_initial_point metricstransform/fluentbit_1: transforms: @@ -640,29 +632,14 @@ processors: include: ^(.*)$$ match_type: regexp new_name: agent.googleapis.com/$${1} - metricstransform/otlp_6: + metricstransform/otlp_4: transforms: - action: update include: ^(.*)$$ match_type: regexp new_name: prometheus.googleapis.com/$${1} normalizesums/iis_2: {} - resource/hostmetrics_3: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/iis_4: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/mssql_2: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/otlp_3: + resource/otlphttp/otlp_metrics_0: attributes: - action: insert key: gcp.project_id @@ -687,13 +664,28 @@ processors: - delete_key(resource.attributes, "service.instance.id") - delete_key(resource.attributes, "server.port") - delete_key(resource.attributes, "url.scheme") - transform/hostmetrics_4: + transform/agent_prometheus_1: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/hostmetrics_5: + transform/agent_prometheus_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") + transform/hostmetrics_3: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/hostmetrics_4: metric_statements: - context: resource error_mode: silent @@ -708,13 +700,13 @@ processors: statements: - set(name, "agent.googleapis.com/iis") - set(version, "1.0") - transform/iis_5: + transform/iis_4: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/iis_6: + transform/iis_5: metric_statements: - context: resource error_mode: silent @@ -750,13 +742,13 @@ processors: statements: - set(name, "agent.googleapis.com/mssql") - set(version, "1.0") - transform/mssql_3: + transform/mssql_2: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/mssql_4: + transform/mssql_3: metric_statements: - context: resource error_mode: silent @@ -771,6 +763,21 @@ processors: - context: datapoint statements: - set(time, Now()) + transform/ops_agent_1: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/ops_agent_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") transform/otel_0: error_mode: ignore metric_statements: @@ -787,7 +794,7 @@ processors: - set(attributes["cluster"], "__gce__") where "__gce__" != nil and resource.attributes["cloud.platform"] == "gcp_compute_engine" - set(attributes["instance_name"], resource.attributes["host.name"]) where resource.attributes["host.name"] != nil and resource.attributes["cloud.platform"] == "gcp_compute_engine" - set(attributes["machine_type"], resource.attributes["host.type"]) where resource.attributes["host.type"] != nil and resource.attributes["cloud.platform"] == "gcp_compute_engine" - transform/otlp_4: + transform/otlp_3: error_mode: ignore metric_statements: - context: metric @@ -881,12 +888,13 @@ service: - agentmetrics/hostmetrics_0 - filter/hostmetrics_1 - metricstransform/hostmetrics_2 - - resource/hostmetrics_3 + - transform/hostmetrics_3 - transform/hostmetrics_4 - - transform/hostmetrics_5 - filter/default__pipeline_hostmetrics_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - hostmetrics/hostmetrics metrics/default__pipeline_iis: @@ -897,12 +905,13 @@ service: - casttosum/iis_1 - normalizesums/iis_2 - transform/iis_3 - - resource/iis_4 + - transform/iis_4 - transform/iis_5 - - transform/iis_6 - filter/default__pipeline_iis_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - windowsperfcounters/iis metrics/default__pipeline_mssql: @@ -911,29 +920,37 @@ service: processors: - metricstransform/mssql_0 - transform/mssql_1 - - resource/mssql_2 + - transform/mssql_2 - transform/mssql_3 - - transform/mssql_4 - filter/default__pipeline_mssql_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - windowsperfcounters/mssql metrics/fluentbit: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - filter/fluentbit_0 - metricstransform/fluentbit_1 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/loggingmetrics: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/loggingmetrics_0 - filter/loggingmetrics_1 - filter/loggingmetrics_2 @@ -944,26 +961,39 @@ service: - interval/loggingmetrics_7 - metricstransform/loggingmetrics_8 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/opsagent: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/ops_agent_0 + - transform/ops_agent_1 + - transform/ops_agent_2 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - otlpjsonfile/ops_agent metrics/otel: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/otel_0 - filter/otel_1 - filter/otel_2 - metricstransform/otel_3 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/otlp_otlp: @@ -973,11 +1003,11 @@ service: - resourcedetection/otlp_0 - transform/otlp_1 - groupbyattrs/otlp_2 - - resource/otlp_3 - - transform/otlp_4 - - metricstarttime/otlp_5 - - metricstransform/otlp_6 - - batch/otlphttp/otlp_metrics_0 + - transform/otlp_3 + - metricstransform/otlp_4 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - otlp/otlp traces/traces_otlp_otlp: diff --git a/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/linux-gpu/otel.yaml b/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/linux-gpu/otel.yaml index d510ee0686..ba02f84527 100644 --- a/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/linux-gpu/otel.yaml +++ b/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/linux-gpu/otel.yaml @@ -1,12 +1,4 @@ exporters: - googlecloud: - metric: - instrumentation_library_labels: false - prefix: "" - resource_filters: [] - service_resource_labels: false - skip_create_descriptor: true - user_agent: Google-Cloud-Ops-Agent-Metrics/latest (BuildDistro=build_distro;Platform=linux;ShortName=linux_platform;ShortVersion=linux_platform_version) otlphttp/otlp: auth: authenticator: googleclientauth @@ -19,7 +11,7 @@ processors: agentmetrics/hostmetrics_0: blank_label_metrics: - system.cpu.utilization - batch/otlphttp/otlp_metrics_0: + batch/otlphttp/otlp_metrics_2: send_batch_max_size: 200 send_batch_size: 200 timeout: 200ms @@ -90,7 +82,7 @@ processors: - googlecloudmonitoring/point_count interval/loggingmetrics_7: interval: 1m - metricstarttime/prometheus_3: + metricstarttime/otlphttp/otlp_metrics_1: strategy: subtract_initial_point metricstransform/fluentbit_1: transforms: @@ -591,23 +583,13 @@ processors: include: ^(.*)$$ match_type: regexp new_name: agent.googleapis.com/$${1} - metricstransform/prometheus_4: + metricstransform/prometheus_2: transforms: - action: update include: ^(.*)$$ match_type: regexp new_name: prometheus.googleapis.com/$${1} - resource/hostmetrics_1_1: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/hostmetrics_3: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/prometheus_1: + resource/otlphttp/otlp_metrics_0: attributes: - action: insert key: gcp.project_id @@ -624,13 +606,13 @@ processors: - delete_key(resource.attributes, "service.instance.id") - delete_key(resource.attributes, "server.port") - delete_key(resource.attributes, "url.scheme") - transform/hostmetrics_1_2: + transform/agent_prometheus_1: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/hostmetrics_1_3: + transform/agent_prometheus_2: metric_statements: - context: resource error_mode: silent @@ -639,13 +621,28 @@ processors: - delete_key(attributes, "service.instance.id") - delete_key(attributes, "service.namespace") - delete_key(attributes, "service.version") - transform/hostmetrics_4: + transform/hostmetrics_1_1: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/hostmetrics_1_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") + transform/hostmetrics_3: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/hostmetrics_5: + transform/hostmetrics_4: metric_statements: - context: resource error_mode: silent @@ -681,6 +678,21 @@ processors: - context: datapoint statements: - set(time, Now()) + transform/ops_agent_1: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/ops_agent_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") transform/otel_0: error_mode: ignore metric_statements: @@ -697,7 +709,7 @@ processors: - delete_key(attributes, "location") - delete_key(attributes, "cluster") - delete_key(attributes, "namespace") - transform/prometheus_2: + transform/prometheus_1: error_mode: ignore metric_statements: - context: metric @@ -810,12 +822,13 @@ service: - agentmetrics/hostmetrics_0 - filter/hostmetrics_1 - metricstransform/hostmetrics_2 - - resource/hostmetrics_3 + - transform/hostmetrics_3 - transform/hostmetrics_4 - - transform/hostmetrics_5 - filter/default__pipeline_hostmetrics_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - hostmetrics/hostmetrics metrics/default__pipeline_hostmetrics_1: @@ -823,29 +836,37 @@ service: - otlphttp/otlp processors: - metricstransform/hostmetrics_1_0 - - resource/hostmetrics_1_1 + - transform/hostmetrics_1_1 - transform/hostmetrics_1_2 - - transform/hostmetrics_1_3 - filter/default__pipeline_hostmetrics_1_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - nvml/hostmetrics_1 metrics/fluentbit: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - filter/fluentbit_0 - metricstransform/fluentbit_1 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/loggingmetrics: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/loggingmetrics_0 - filter/loggingmetrics_1 - filter/loggingmetrics_2 @@ -856,26 +877,39 @@ service: - interval/loggingmetrics_7 - metricstransform/loggingmetrics_8 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/opsagent: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/ops_agent_0 + - transform/ops_agent_1 + - transform/ops_agent_2 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - otlpjsonfile/ops_agent metrics/otel: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/otel_0 - filter/otel_1 - filter/otel_2 - metricstransform/otel_3 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/prometheus__pipeline_prometheus: @@ -883,11 +917,11 @@ service: - otlphttp/otlp processors: - transform/prometheus_0 - - resource/prometheus_1 - - transform/prometheus_2 - - metricstarttime/prometheus_3 - - metricstransform/prometheus_4 - - batch/otlphttp/otlp_metrics_0 + - transform/prometheus_1 + - metricstransform/prometheus_2 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/prometheus telemetry: diff --git a/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/linux/otel.yaml b/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/linux/otel.yaml index 8d82c89ee4..8147c87a54 100644 --- a/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/linux/otel.yaml +++ b/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/linux/otel.yaml @@ -1,12 +1,4 @@ exporters: - googlecloud: - metric: - instrumentation_library_labels: false - prefix: "" - resource_filters: [] - service_resource_labels: false - skip_create_descriptor: true - user_agent: Google-Cloud-Ops-Agent-Metrics/latest (BuildDistro=build_distro;Platform=linux;ShortName=linux_platform;ShortVersion=linux_platform_version) otlphttp/otlp: auth: authenticator: googleclientauth @@ -19,7 +11,7 @@ processors: agentmetrics/hostmetrics_0: blank_label_metrics: - system.cpu.utilization - batch/otlphttp/otlp_metrics_0: + batch/otlphttp/otlp_metrics_2: send_batch_max_size: 200 send_batch_size: 200 timeout: 200ms @@ -85,7 +77,7 @@ processors: - googlecloudmonitoring/point_count interval/loggingmetrics_7: interval: 1m - metricstarttime/prometheus_3: + metricstarttime/otlphttp/otlp_metrics_1: strategy: subtract_initial_point metricstransform/fluentbit_1: transforms: @@ -562,18 +554,13 @@ processors: include: ^(.*)$$ match_type: regexp new_name: agent.googleapis.com/$${1} - metricstransform/prometheus_4: + metricstransform/prometheus_2: transforms: - action: update include: ^(.*)$$ match_type: regexp new_name: prometheus.googleapis.com/$${1} - resource/hostmetrics_3: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/prometheus_1: + resource/otlphttp/otlp_metrics_0: attributes: - action: insert key: gcp.project_id @@ -590,13 +577,28 @@ processors: - delete_key(resource.attributes, "service.instance.id") - delete_key(resource.attributes, "server.port") - delete_key(resource.attributes, "url.scheme") - transform/hostmetrics_4: + transform/agent_prometheus_1: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/agent_prometheus_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") + transform/hostmetrics_3: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/hostmetrics_5: + transform/hostmetrics_4: metric_statements: - context: resource error_mode: silent @@ -632,6 +634,21 @@ processors: - context: datapoint statements: - set(time, Now()) + transform/ops_agent_1: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/ops_agent_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") transform/otel_0: error_mode: ignore metric_statements: @@ -648,7 +665,7 @@ processors: - delete_key(attributes, "location") - delete_key(attributes, "cluster") - delete_key(attributes, "namespace") - transform/prometheus_2: + transform/prometheus_1: error_mode: ignore metric_statements: - context: metric @@ -759,29 +776,37 @@ service: - agentmetrics/hostmetrics_0 - filter/hostmetrics_1 - metricstransform/hostmetrics_2 - - resource/hostmetrics_3 + - transform/hostmetrics_3 - transform/hostmetrics_4 - - transform/hostmetrics_5 - filter/default__pipeline_hostmetrics_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - hostmetrics/hostmetrics metrics/fluentbit: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - filter/fluentbit_0 - metricstransform/fluentbit_1 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/loggingmetrics: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/loggingmetrics_0 - filter/loggingmetrics_1 - filter/loggingmetrics_2 @@ -792,26 +817,39 @@ service: - interval/loggingmetrics_7 - metricstransform/loggingmetrics_8 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/opsagent: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/ops_agent_0 + - transform/ops_agent_1 + - transform/ops_agent_2 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - otlpjsonfile/ops_agent metrics/otel: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/otel_0 - filter/otel_1 - filter/otel_2 - metricstransform/otel_3 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/prometheus__pipeline_prometheus: @@ -819,11 +857,11 @@ service: - otlphttp/otlp processors: - transform/prometheus_0 - - resource/prometheus_1 - - transform/prometheus_2 - - metricstarttime/prometheus_3 - - metricstransform/prometheus_4 - - batch/otlphttp/otlp_metrics_0 + - transform/prometheus_1 + - metricstransform/prometheus_2 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/prometheus telemetry: diff --git a/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/windows-2012/otel.yaml b/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/windows-2012/otel.yaml index d04a9ad57d..d2fe60094a 100644 --- a/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/windows-2012/otel.yaml +++ b/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/windows-2012/otel.yaml @@ -1,12 +1,4 @@ exporters: - googlecloud: - metric: - instrumentation_library_labels: false - prefix: "" - resource_filters: [] - service_resource_labels: false - skip_create_descriptor: true - user_agent: Google-Cloud-Ops-Agent-Metrics/latest (BuildDistro=build_distro;Platform=windows;ShortName=win_platform;ShortVersion=win_platform_version) otlphttp/otlp: auth: authenticator: googleclientauth @@ -19,7 +11,7 @@ processors: agentmetrics/hostmetrics_0: blank_label_metrics: - system.cpu.utilization - batch/otlphttp/otlp_metrics_0: + batch/otlphttp/otlp_metrics_2: send_batch_max_size: 200 send_batch_size: 200 timeout: 200ms @@ -100,7 +92,7 @@ processors: - googlecloudmonitoring/point_count interval/loggingmetrics_7: interval: 1m - metricstarttime/prometheus_3: + metricstarttime/otlphttp/otlp_metrics_1: strategy: subtract_initial_point metricstransform/fluentbit_1: transforms: @@ -627,29 +619,14 @@ processors: include: ^(.*)$$ match_type: regexp new_name: agent.googleapis.com/$${1} - metricstransform/prometheus_4: + metricstransform/prometheus_2: transforms: - action: update include: ^(.*)$$ match_type: regexp new_name: prometheus.googleapis.com/$${1} normalizesums/iis_2: {} - resource/hostmetrics_3: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/iis_4: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/mssql_2: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/prometheus_1: + resource/otlphttp/otlp_metrics_0: attributes: - action: insert key: gcp.project_id @@ -666,13 +643,28 @@ processors: - delete_key(resource.attributes, "service.instance.id") - delete_key(resource.attributes, "server.port") - delete_key(resource.attributes, "url.scheme") - transform/hostmetrics_4: + transform/agent_prometheus_1: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/agent_prometheus_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") + transform/hostmetrics_3: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/hostmetrics_5: + transform/hostmetrics_4: metric_statements: - context: resource error_mode: silent @@ -687,13 +679,13 @@ processors: statements: - set(name, "agent.googleapis.com/iis") - set(version, "1.0") - transform/iis_5: + transform/iis_4: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/iis_6: + transform/iis_5: metric_statements: - context: resource error_mode: silent @@ -729,13 +721,13 @@ processors: statements: - set(name, "agent.googleapis.com/mssql") - set(version, "1.0") - transform/mssql_3: + transform/mssql_2: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/mssql_4: + transform/mssql_3: metric_statements: - context: resource error_mode: silent @@ -750,6 +742,21 @@ processors: - context: datapoint statements: - set(time, Now()) + transform/ops_agent_1: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/ops_agent_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") transform/otel_0: error_mode: ignore metric_statements: @@ -766,7 +773,7 @@ processors: - delete_key(attributes, "location") - delete_key(attributes, "cluster") - delete_key(attributes, "namespace") - transform/prometheus_2: + transform/prometheus_1: error_mode: ignore metric_statements: - context: metric @@ -912,12 +919,13 @@ service: - agentmetrics/hostmetrics_0 - filter/hostmetrics_1 - metricstransform/hostmetrics_2 - - resource/hostmetrics_3 + - transform/hostmetrics_3 - transform/hostmetrics_4 - - transform/hostmetrics_5 - filter/default__pipeline_hostmetrics_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - hostmetrics/hostmetrics metrics/default__pipeline_iis: @@ -928,12 +936,13 @@ service: - casttosum/iis_1 - normalizesums/iis_2 - transform/iis_3 - - resource/iis_4 + - transform/iis_4 - transform/iis_5 - - transform/iis_6 - filter/default__pipeline_iis_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - windowsperfcounters/iis metrics/default__pipeline_mssql: @@ -942,29 +951,37 @@ service: processors: - metricstransform/mssql_0 - transform/mssql_1 - - resource/mssql_2 + - transform/mssql_2 - transform/mssql_3 - - transform/mssql_4 - filter/default__pipeline_mssql_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - windowsperfcounters/mssql metrics/fluentbit: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - filter/fluentbit_0 - metricstransform/fluentbit_1 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/loggingmetrics: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/loggingmetrics_0 - filter/loggingmetrics_1 - filter/loggingmetrics_2 @@ -975,26 +992,39 @@ service: - interval/loggingmetrics_7 - metricstransform/loggingmetrics_8 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/opsagent: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/ops_agent_0 + - transform/ops_agent_1 + - transform/ops_agent_2 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - otlpjsonfile/ops_agent metrics/otel: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/otel_0 - filter/otel_1 - filter/otel_2 - metricstransform/otel_3 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/prometheus__pipeline_prometheus: @@ -1002,11 +1032,11 @@ service: - otlphttp/otlp processors: - transform/prometheus_0 - - resource/prometheus_1 - - transform/prometheus_2 - - metricstarttime/prometheus_3 - - metricstransform/prometheus_4 - - batch/otlphttp/otlp_metrics_0 + - transform/prometheus_1 + - metricstransform/prometheus_2 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/prometheus telemetry: diff --git a/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/windows/otel.yaml b/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/windows/otel.yaml index d04a9ad57d..d2fe60094a 100644 --- a/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/windows/otel.yaml +++ b/confgenerator/testdata/goldens/metrics-exporter_prometheus_otlp/golden/windows/otel.yaml @@ -1,12 +1,4 @@ exporters: - googlecloud: - metric: - instrumentation_library_labels: false - prefix: "" - resource_filters: [] - service_resource_labels: false - skip_create_descriptor: true - user_agent: Google-Cloud-Ops-Agent-Metrics/latest (BuildDistro=build_distro;Platform=windows;ShortName=win_platform;ShortVersion=win_platform_version) otlphttp/otlp: auth: authenticator: googleclientauth @@ -19,7 +11,7 @@ processors: agentmetrics/hostmetrics_0: blank_label_metrics: - system.cpu.utilization - batch/otlphttp/otlp_metrics_0: + batch/otlphttp/otlp_metrics_2: send_batch_max_size: 200 send_batch_size: 200 timeout: 200ms @@ -100,7 +92,7 @@ processors: - googlecloudmonitoring/point_count interval/loggingmetrics_7: interval: 1m - metricstarttime/prometheus_3: + metricstarttime/otlphttp/otlp_metrics_1: strategy: subtract_initial_point metricstransform/fluentbit_1: transforms: @@ -627,29 +619,14 @@ processors: include: ^(.*)$$ match_type: regexp new_name: agent.googleapis.com/$${1} - metricstransform/prometheus_4: + metricstransform/prometheus_2: transforms: - action: update include: ^(.*)$$ match_type: regexp new_name: prometheus.googleapis.com/$${1} normalizesums/iis_2: {} - resource/hostmetrics_3: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/iis_4: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/mssql_2: - attributes: - - action: insert - key: gcp.project_id - value: test-project - resource/prometheus_1: + resource/otlphttp/otlp_metrics_0: attributes: - action: insert key: gcp.project_id @@ -666,13 +643,28 @@ processors: - delete_key(resource.attributes, "service.instance.id") - delete_key(resource.attributes, "server.port") - delete_key(resource.attributes, "url.scheme") - transform/hostmetrics_4: + transform/agent_prometheus_1: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/agent_prometheus_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") + transform/hostmetrics_3: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/hostmetrics_5: + transform/hostmetrics_4: metric_statements: - context: resource error_mode: silent @@ -687,13 +679,13 @@ processors: statements: - set(name, "agent.googleapis.com/iis") - set(version, "1.0") - transform/iis_5: + transform/iis_4: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/iis_6: + transform/iis_5: metric_statements: - context: resource error_mode: silent @@ -729,13 +721,13 @@ processors: statements: - set(name, "agent.googleapis.com/mssql") - set(version, "1.0") - transform/mssql_3: + transform/mssql_2: metric_statements: - context: scope statements: - set(name, "") - set(version, "") - transform/mssql_4: + transform/mssql_3: metric_statements: - context: resource error_mode: silent @@ -750,6 +742,21 @@ processors: - context: datapoint statements: - set(time, Now()) + transform/ops_agent_1: + metric_statements: + - context: scope + statements: + - set(name, "") + - set(version, "") + transform/ops_agent_2: + metric_statements: + - context: resource + error_mode: silent + statements: + - delete_key(attributes, "service.name") + - delete_key(attributes, "service.instance.id") + - delete_key(attributes, "service.namespace") + - delete_key(attributes, "service.version") transform/otel_0: error_mode: ignore metric_statements: @@ -766,7 +773,7 @@ processors: - delete_key(attributes, "location") - delete_key(attributes, "cluster") - delete_key(attributes, "namespace") - transform/prometheus_2: + transform/prometheus_1: error_mode: ignore metric_statements: - context: metric @@ -912,12 +919,13 @@ service: - agentmetrics/hostmetrics_0 - filter/hostmetrics_1 - metricstransform/hostmetrics_2 - - resource/hostmetrics_3 + - transform/hostmetrics_3 - transform/hostmetrics_4 - - transform/hostmetrics_5 - filter/default__pipeline_hostmetrics_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - hostmetrics/hostmetrics metrics/default__pipeline_iis: @@ -928,12 +936,13 @@ service: - casttosum/iis_1 - normalizesums/iis_2 - transform/iis_3 - - resource/iis_4 + - transform/iis_4 - transform/iis_5 - - transform/iis_6 - filter/default__pipeline_iis_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - windowsperfcounters/iis metrics/default__pipeline_mssql: @@ -942,29 +951,37 @@ service: processors: - metricstransform/mssql_0 - transform/mssql_1 - - resource/mssql_2 + - transform/mssql_2 - transform/mssql_3 - - transform/mssql_4 - filter/default__pipeline_mssql_0 - resourcedetection/_global_0 - - batch/otlphttp/otlp_metrics_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - windowsperfcounters/mssql metrics/fluentbit: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - filter/fluentbit_0 - metricstransform/fluentbit_1 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/loggingmetrics: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/loggingmetrics_0 - filter/loggingmetrics_1 - filter/loggingmetrics_2 @@ -975,26 +992,39 @@ service: - interval/loggingmetrics_7 - metricstransform/loggingmetrics_8 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/opsagent: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/ops_agent_0 + - transform/ops_agent_1 + - transform/ops_agent_2 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - otlpjsonfile/ops_agent metrics/otel: exporters: - - googlecloud + - otlphttp/otlp processors: - transform/agent_prometheus_0 + - transform/agent_prometheus_1 + - transform/agent_prometheus_2 - transform/otel_0 - filter/otel_1 - filter/otel_2 - metricstransform/otel_3 - resourcedetection/_global_0 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/agent_prometheus metrics/prometheus__pipeline_prometheus: @@ -1002,11 +1032,11 @@ service: - otlphttp/otlp processors: - transform/prometheus_0 - - resource/prometheus_1 - - transform/prometheus_2 - - metricstarttime/prometheus_3 - - metricstransform/prometheus_4 - - batch/otlphttp/otlp_metrics_0 + - transform/prometheus_1 + - metricstransform/prometheus_2 + - resource/otlphttp/otlp_metrics_0 + - metricstarttime/otlphttp/otlp_metrics_1 + - batch/otlphttp/otlp_metrics_2 receivers: - prometheus/prometheus telemetry: