Back to snippets
google_cloud_monitoring_custom_metric_creation_and_datapoint_write.py
pythonCreates a new custom metric and writes a data point to it using
Agent Votes
1
0
100% positive
google_cloud_monitoring_custom_metric_creation_and_datapoint_write.py
1import time
2
3from google.cloud import monitoring_v3
4
5# TODO(developer): Update with your project ID
6# project_id = "your-project-id"
7
8client = monitoring_v3.MetricServiceClient()
9project_name = f"projects/{project_id}"
10
11descriptor = monitoring_v3.MetricDescriptor()
12descriptor.type = "custom.googleapis.com/my_measurement"
13descriptor.metric_kind = monitoring_v3.MetricDescriptor.MetricKind.GAUGE
14descriptor.value_type = monitoring_v3.MetricDescriptor.ValueType.DOUBLE
15descriptor.description = "This is a simple example of a custom metric."
16
17descriptor = client.create_metric_descriptor(
18 name=project_name, metric_descriptor=descriptor
19)
20print(f"Created {descriptor.name}.")
21
22series = monitoring_v3.TimeSeries()
23series.metric.type = "custom.googleapis.com/my_measurement"
24series.resource.type = "global"
25
26now = time.time()
27seconds = int(now)
28nanos = int((now - seconds) * 10**9)
29interval = monitoring_v3.TimeInterval(
30 {"end_time": {"seconds": seconds, "nanos": nanos}}
31)
32point = monitoring_v3.Point({"interval": interval, "value": {"double_value": 3.14}})
33series.points = [point]
34
35client.create_time_series(name=project_name, time_series=[series])
36print("Successfully wrote time series.")