diff --git a/exporter/collector/integrationtest/testdata/fixtures/metrics/google_managed_prometheus.json b/exporter/collector/integrationtest/testdata/fixtures/metrics/google_managed_prometheus.json index 1395cdb42..c75d9086a 100644 --- a/exporter/collector/integrationtest/testdata/fixtures/metrics/google_managed_prometheus.json +++ b/exporter/collector/integrationtest/testdata/fixtures/metrics/google_managed_prometheus.json @@ -379,10 +379,101 @@ } ] } + }, + { + "name":"otlp.test.gauge", + "description":"Normal metric name", + "unit":"seconds", + "gauge":{ + "dataPoints":[ + { + "timeUnixNano":"1649443516286000000", + "asDouble":0.00699415 + } + ] + } + }, + { + "name":"workload.googleapis.com/otlp.test.prefix1", + "description":"URI-style metric name", + "unit":"seconds", + "gauge":{ + "dataPoints":[ + { + "timeUnixNano":"1649443516286000000", + "asDouble":0.00699415 + } + ] + } + }, + { + "name":".invalid.googleapis.com/otlp.test.prefix2", + "description":"URI-style metric name with invalid domain", + "unit":"seconds", + "gauge":{ + "dataPoints":[ + { + "timeUnixNano":"1649443516286000000", + "asDouble":0.00699415 + } + ] + } + }, + { + "name":"otlp.test.prefix3/workload.googleapis.com/abc", + "description":"Broken URI-style metric name", + "unit":"seconds", + "gauge":{ + "dataPoints":[ + { + "timeUnixNano":"1649443516286000000", + "asDouble":0.00699415 + } + ] + } + }, + { + "name":"WORKLOAD.GOOGLEAPIS.COM/otlp.test.prefix4", + "description":"Uppercase URI-style metric name", + "unit":"seconds", + "gauge":{ + "dataPoints":[ + { + "timeUnixNano":"1649443516286000000", + "asDouble":0.00699415 + } + ] + } + }, + { + "name":"WORKLOAD.googleapis.com/otlp.test.prefix5", + "description":"Partial uppercase URI-style metric name", + "unit":"seconds", + "gauge":{ + "dataPoints":[ + { + "timeUnixNano":"1649443516286000000", + "asDouble":0.00699415 + } + ] + } + }, + { + "name":"prometheus.googleapis.com/otlp_test_prefix6/gauge", + "description":"GMP metric names are not special", + "unit":"seconds", + "gauge":{ + "dataPoints":[ + { + "timeUnixNano":"1649443516286000000", + "asDouble":0.00699415 + } + ] + } } ] } ] } ] -} \ No newline at end of file +} diff --git a/exporter/collector/integrationtest/testdata/fixtures/metrics/google_managed_prometheus_expect.json b/exporter/collector/integrationtest/testdata/fixtures/metrics/google_managed_prometheus_expect.json index 1afb63a00..1ab6f5282 100644 --- a/exporter/collector/integrationtest/testdata/fixtures/metrics/google_managed_prometheus_expect.json +++ b/exporter/collector/integrationtest/testdata/fixtures/metrics/google_managed_prometheus_expect.json @@ -704,6 +704,202 @@ } ] }, + { + "metric": { + "type": "prometheus.googleapis.com/otlp_test_gauge/gauge" + }, + "resource": { + "type": "prometheus_target", + "labels": { + "cluster": "rabbitmq-test-dev", + "instance": "10.92.5.2:15692", + "job": "demo", + "location": "us-central1-c", + "namespace": "default" + } + }, + "metricKind": "GAUGE", + "valueType": "DOUBLE", + "points": [ + { + "interval": { + "endTime": "1970-01-01T00:00:00Z" + }, + "value": { + "doubleValue": 0.00699415 + } + } + ], + "unit": "seconds" + }, + { + "metric": { + "type": "prometheus.googleapis.com/workload_googleapis_com_otlp_test_prefix1/gauge" + }, + "resource": { + "type": "prometheus_target", + "labels": { + "cluster": "rabbitmq-test-dev", + "instance": "10.92.5.2:15692", + "job": "demo", + "location": "us-central1-c", + "namespace": "default" + } + }, + "metricKind": "GAUGE", + "valueType": "DOUBLE", + "points": [ + { + "interval": { + "endTime": "1970-01-01T00:00:00Z" + }, + "value": { + "doubleValue": 0.00699415 + } + } + ], + "unit": "seconds" + }, + { + "metric": { + "type": "prometheus.googleapis.com/invalid_googleapis_com_otlp_test_prefix2/gauge" + }, + "resource": { + "type": "prometheus_target", + "labels": { + "cluster": "rabbitmq-test-dev", + "instance": "10.92.5.2:15692", + "job": "demo", + "location": "us-central1-c", + "namespace": "default" + } + }, + "metricKind": "GAUGE", + "valueType": "DOUBLE", + "points": [ + { + "interval": { + "endTime": "1970-01-01T00:00:00Z" + }, + "value": { + "doubleValue": 0.00699415 + } + } + ], + "unit": "seconds" + }, + { + "metric": { + "type": "prometheus.googleapis.com/otlp_test_prefix3_workload_googleapis_com_abc/gauge" + }, + "resource": { + "type": "prometheus_target", + "labels": { + "cluster": "rabbitmq-test-dev", + "instance": "10.92.5.2:15692", + "job": "demo", + "location": "us-central1-c", + "namespace": "default" + } + }, + "metricKind": "GAUGE", + "valueType": "DOUBLE", + "points": [ + { + "interval": { + "endTime": "1970-01-01T00:00:00Z" + }, + "value": { + "doubleValue": 0.00699415 + } + } + ], + "unit": "seconds" + }, + { + "metric": { + "type": "prometheus.googleapis.com/WORKLOAD_GOOGLEAPIS_COM_otlp_test_prefix4/gauge" + }, + "resource": { + "type": "prometheus_target", + "labels": { + "cluster": "rabbitmq-test-dev", + "instance": "10.92.5.2:15692", + "job": "demo", + "location": "us-central1-c", + "namespace": "default" + } + }, + "metricKind": "GAUGE", + "valueType": "DOUBLE", + "points": [ + { + "interval": { + "endTime": "1970-01-01T00:00:00Z" + }, + "value": { + "doubleValue": 0.00699415 + } + } + ], + "unit": "seconds" + }, + { + "metric": { + "type": "prometheus.googleapis.com/WORKLOAD_googleapis_com_otlp_test_prefix5/gauge" + }, + "resource": { + "type": "prometheus_target", + "labels": { + "cluster": "rabbitmq-test-dev", + "instance": "10.92.5.2:15692", + "job": "demo", + "location": "us-central1-c", + "namespace": "default" + } + }, + "metricKind": "GAUGE", + "valueType": "DOUBLE", + "points": [ + { + "interval": { + "endTime": "1970-01-01T00:00:00Z" + }, + "value": { + "doubleValue": 0.00699415 + } + } + ], + "unit": "seconds" + }, + { + "metric": { + "type": "prometheus.googleapis.com/prometheus_googleapis_com_otlp_test_prefix6_gauge/gauge" + }, + "resource": { + "type": "prometheus_target", + "labels": { + "cluster": "rabbitmq-test-dev", + "instance": "10.92.5.2:15692", + "job": "demo", + "location": "us-central1-c", + "namespace": "default" + } + }, + "metricKind": "GAUGE", + "valueType": "DOUBLE", + "points": [ + { + "interval": { + "endTime": "1970-01-01T00:00:00Z" + }, + "value": { + "doubleValue": 0.00699415 + } + } + ], + "unit": "seconds" + }, { "metric": { "type": "prometheus.googleapis.com/target_info/gauge", @@ -765,7 +961,7 @@ "startTime": "1970-01-01T00:00:00Z" }, "value": { - "int64Value": "22" + "int64Value": "29" } } ] diff --git a/exporter/collector/metrics.go b/exporter/collector/metrics.go index 888ad3d9e..bdd0998c3 100644 --- a/exporter/collector/metrics.go +++ b/exporter/collector/metrics.go @@ -929,7 +929,7 @@ func (m *metricMapper) metricNameToType(name string, metric pmetric.Metric) (str if err != nil { return "", err } - return path.Join(m.getMetricNamePrefix(name), metricName), nil + return path.Join(m.getMetricNamePrefix(metricName), metricName), nil } // defaultGetMetricName does not (further) customize the baseName.