Skip to content

Commit

Permalink
add gco agent span label (open-telemetry#833)
Browse files Browse the repository at this point in the history
add uuid label to metricdescriptor
  • Loading branch information
Andrew Xue committed Jun 22, 2020
1 parent 262584f commit 1f9a247
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from google.api.metric_pb2 import MetricDescriptor
from google.cloud.monitoring_v3 import MetricServiceClient
from google.cloud.monitoring_v3.proto.metric_pb2 import TimeSeries

from opentelemetry.sdk.metrics.export import (
MetricRecord,
MetricsExporter,
Expand Down Expand Up @@ -113,6 +114,12 @@ def _get_metric_descriptor(
logger.warning(
"Label value %s is not a string, bool or integer", value
)

if self.unique_identifier:
descriptor["labels"].append(
LabelDescriptor(key="opentelemetry_uuid", value_type="STRING")
)

if isinstance(record.aggregator, SumAggregator):
descriptor["metric_kind"] = MetricDescriptor.MetricKind.GAUGE
else:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,11 @@ def test_unique_identifier(self):
"type": "custom.googleapis.com/OpenTelemetry/name",
"display_name": "name",
"description": "description",
"labels": [],
"labels": [
LabelDescriptor(
key="opentelemetry_uuid", value_type="STRING"
),
],
"metric_kind": "GAUGE",
"value_type": "DOUBLE",
}
Expand All @@ -323,6 +327,13 @@ def test_unique_identifier(self):
exporter1.export([metric_record])
exporter2.export([metric_record])

(
first_call,
second_call,
) = client.create_metric_descriptor.call_args_list
self.assertEqual(first_call[0][1].labels[0].key, "opentelemetry_uuid")
self.assertEqual(second_call[0][1].labels[0].key, "opentelemetry_uuid")

first_call, second_call = client.create_time_series.call_args_list
self.assertNotEqual(
first_call[0][1][0].metric.labels["opentelemetry_uuid"],
Expand Down

0 comments on commit 1f9a247

Please sign in to comment.