Skip to content

Commit 584c22f

Browse files
author
alrex
authored
Merge branch 'master' into add_record_error
2 parents ef5f106 + 7ad8bbc commit 584c22f

24 files changed

Lines changed: 222 additions & 152 deletions

File tree

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ Approvers ([@open-telemetry/python-approvers](https://github.com/orgs/open-telem
107107
- [Chris Kleinknecht](https://github.com/c24t), Google
108108
- [Diego Hurtado](https://github.com/ocelotl)
109109
- [Hector Hernandez](https://github.com/hectorhdzg), Microsoft
110-
- [Leighton Chen](https://github.com/lzchen), Microsoft
111110
- [Mauricio Vásquez](https://github.com/mauriciovasquezbernal), Kinvolk
112111
- [Reiley Yang](https://github.com/reyang), Microsoft
113112

@@ -116,16 +115,17 @@ Approvers ([@open-telemetry/python-approvers](https://github.com/orgs/open-telem
116115
Maintainers ([@open-telemetry/python-maintainers](https://github.com/orgs/open-telemetry/teams/python-maintainers)):
117116

118117
- [Alex Boten](https://github.com/codeboten), LightStep
118+
- [Leighton Chen](https://github.com/lzchen), Microsoft
119119
- [Yusuke Tsutsumi](https://github.com/toumorokoshi), Zillow Group
120120

121+
*Find more about the maintainer role in [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#maintainer).*
122+
121123
### Thanks to all the people who already contributed!
122124

123125
<a href="https://github.com/open-telemetry/opentelemetry-python/graphs/contributors">
124126
<img src="https://contributors-img.web.app/image?repo=open-telemetry/opentelemetry-python" />
125127
</a>
126128

127-
*Find more about the maintainer role in [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#maintainer).*
128-
129129
## Release Schedule
130130

131131
OpenTelemetry Python is under active development.

dev-requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ pylint==2.4.4
22
flake8==3.7.9
33
isort~=4.3
44
black>=19.3b0,==19.*
5-
mypy==0.740
5+
mypy==0.770
66
sphinx~=2.1
77
sphinx-rtd-theme~=0.4
88
sphinx-autodoc-typehints~=1.10.2

docs/examples/basic_meter/observer.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import psutil
2020

2121
from opentelemetry import metrics
22-
from opentelemetry.sdk.metrics import MeterProvider
22+
from opentelemetry.sdk.metrics import MeterProvider, ValueObserver
2323
from opentelemetry.sdk.metrics.export import ConsoleMetricsExporter
2424
from opentelemetry.sdk.metrics.export.batcher import UngroupedBatcher
2525
from opentelemetry.sdk.metrics.export.controller import PushController
@@ -43,6 +43,7 @@ def get_cpu_usage_callback(observer):
4343
description="per-cpu usage",
4444
unit="1",
4545
value_type=float,
46+
observer_type=ValueObserver,
4647
label_keys=("cpu_number",),
4748
)
4849

ext/opentelemetry-ext-opencensusexporter/src/opentelemetry/ext/opencensusexporter/metrics_exporter/__init__.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,10 @@ def translate_to_collector(
114114
)
115115

116116
metric_descriptor = metrics_pb2.MetricDescriptor(
117-
name=metric_record.metric.name,
118-
description=metric_record.metric.description,
119-
unit=metric_record.metric.unit,
120-
type=get_collector_metric_type(metric_record.metric),
117+
name=metric_record.instrument.name,
118+
description=metric_record.instrument.description,
119+
unit=metric_record.instrument.unit,
120+
type=get_collector_metric_type(metric_record.instrument),
121121
label_keys=label_keys,
122122
)
123123

@@ -151,14 +151,14 @@ def get_collector_point(metric_record: MetricRecord) -> metrics_pb2.Point:
151151
metric_record.aggregator.last_update_timestamp
152152
)
153153
)
154-
if metric_record.metric.value_type == int:
154+
if metric_record.instrument.value_type == int:
155155
point.int64_value = metric_record.aggregator.checkpoint
156-
elif metric_record.metric.value_type == float:
156+
elif metric_record.instrument.value_type == float:
157157
point.double_value = metric_record.aggregator.checkpoint
158158
else:
159159
raise TypeError(
160160
"Unsupported metric type: {}".format(
161-
metric_record.metric.value_type
161+
metric_record.instrument.value_type
162162
)
163163
)
164164
return point

ext/opentelemetry-ext-opencensusexporter/tests/test_otcollector_metrics_exporter.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,21 +92,21 @@ def test_get_collector_point(self):
9292
"testName", "testDescription", "unit", float, ValueRecorder
9393
)
9494
result = metrics_exporter.get_collector_point(
95-
MetricRecord(aggregator, self._key_labels, int_counter)
95+
MetricRecord(int_counter, self._key_labels, aggregator)
9696
)
9797
self.assertIsInstance(result, metrics_pb2.Point)
9898
self.assertIsInstance(result.timestamp, Timestamp)
9999
self.assertEqual(result.int64_value, 0)
100100
aggregator.update(123.5)
101101
aggregator.take_checkpoint()
102102
result = metrics_exporter.get_collector_point(
103-
MetricRecord(aggregator, self._key_labels, float_counter)
103+
MetricRecord(float_counter, self._key_labels, aggregator)
104104
)
105105
self.assertEqual(result.double_value, 123.5)
106106
self.assertRaises(
107107
TypeError,
108108
metrics_exporter.get_collector_point(
109-
MetricRecord(aggregator, self._key_labels, valuerecorder)
109+
MetricRecord(valuerecorder, self._key_labels, aggregator)
110110
),
111111
)
112112

@@ -122,7 +122,7 @@ def test_export(self):
122122
"testname", "testdesc", "unit", int, Counter, ["environment"]
123123
)
124124
record = MetricRecord(
125-
aggregate.CounterAggregator(), self._key_labels, test_metric
125+
test_metric, self._key_labels, aggregate.CounterAggregator(),
126126
)
127127

128128
result = collector_exporter.export([record])
@@ -147,7 +147,7 @@ def test_translate_to_collector(self):
147147
aggregator = aggregate.CounterAggregator()
148148
aggregator.update(123)
149149
aggregator.take_checkpoint()
150-
record = MetricRecord(aggregator, self._key_labels, test_metric)
150+
record = MetricRecord(test_metric, self._key_labels, aggregator,)
151151
output_metrics = metrics_exporter.translate_to_collector([record])
152152
self.assertEqual(len(output_metrics), 1)
153153
self.assertIsInstance(output_metrics[0], metrics_pb2.Metric)

ext/opentelemetry-ext-prometheus/src/opentelemetry/ext/prometheus/__init__.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -152,22 +152,22 @@ def _translate_to_prometheus(self, metric_record: MetricRecord):
152152
metric_name = ""
153153
if self._prefix != "":
154154
metric_name = self._prefix + "_"
155-
metric_name += self._sanitize(metric_record.metric.name)
155+
metric_name += self._sanitize(metric_record.instrument.name)
156156

157-
if isinstance(metric_record.metric, Counter):
157+
if isinstance(metric_record.instrument, Counter):
158158
prometheus_metric = CounterMetricFamily(
159159
name=metric_name,
160-
documentation=metric_record.metric.description,
160+
documentation=metric_record.instrument.description,
161161
labels=label_keys,
162162
)
163163
prometheus_metric.add_metric(
164164
labels=label_values, value=metric_record.aggregator.checkpoint
165165
)
166166
# TODO: Add support for histograms when supported in OT
167-
elif isinstance(metric_record.metric, ValueRecorder):
167+
elif isinstance(metric_record.instrument, ValueRecorder):
168168
prometheus_metric = UnknownMetricFamily(
169169
name=metric_name,
170-
documentation=metric_record.metric.description,
170+
documentation=metric_record.instrument.description,
171171
labels=label_keys,
172172
)
173173
prometheus_metric.add_metric(
@@ -176,7 +176,7 @@ def _translate_to_prometheus(self, metric_record: MetricRecord):
176176

177177
else:
178178
logger.warning(
179-
"Unsupported metric type. %s", type(metric_record.metric)
179+
"Unsupported metric type. %s", type(metric_record.instrument)
180180
)
181181
return prometheus_metric
182182

ext/opentelemetry-ext-prometheus/tests/test_prometheus_exporter.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ def test_shutdown(self):
6767
def test_export(self):
6868
with self._registry_register_patch:
6969
record = MetricRecord(
70-
CounterAggregator(), self._labels_key, self._test_metric
70+
self._test_metric, self._labels_key, CounterAggregator(),
7171
)
7272
exporter = PrometheusMetricsExporter()
7373
result = exporter.export([record])
@@ -90,7 +90,7 @@ def test_counter_to_prometheus(self):
9090
aggregator = CounterAggregator()
9191
aggregator.update(123)
9292
aggregator.take_checkpoint()
93-
record = MetricRecord(aggregator, key_labels, metric)
93+
record = MetricRecord(metric, key_labels, aggregator)
9494
collector = CustomCollector("testprefix")
9595
collector.add_metrics_data([record])
9696

@@ -118,7 +118,7 @@ def test_invalid_metric(self):
118118
)
119119
labels = {"environment": "staging"}
120120
key_labels = metrics.get_labels_as_key(labels)
121-
record = MetricRecord(None, key_labels, metric)
121+
record = MetricRecord(metric, key_labels, None)
122122
collector = CustomCollector("testprefix")
123123
collector.add_metrics_data([record])
124124
collector.collect()

ext/opentelemetry-ext-system-metrics/src/opentelemetry/ext/system_metrics/__init__.py

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
import psutil
5959

6060
from opentelemetry import metrics
61+
from opentelemetry.sdk.metrics import ValueObserver
6162
from opentelemetry.sdk.metrics.export import MetricsExporter
6263
from opentelemetry.sdk.metrics.export.controller import PushController
6364

@@ -106,6 +107,7 @@ def __init__(
106107
description="System memory",
107108
unit="bytes",
108109
value_type=int,
110+
observer_type=ValueObserver,
109111
)
110112

111113
self.meter.register_observer(
@@ -114,6 +116,7 @@ def __init__(
114116
description="System CPU",
115117
unit="seconds",
116118
value_type=float,
119+
observer_type=ValueObserver,
117120
)
118121

119122
self.meter.register_observer(
@@ -122,6 +125,7 @@ def __init__(
122125
description="System network bytes",
123126
unit="bytes",
124127
value_type=int,
128+
observer_type=ValueObserver,
125129
)
126130

127131
self.meter.register_observer(
@@ -130,6 +134,7 @@ def __init__(
130134
description="Runtime memory",
131135
unit="bytes",
132136
value_type=int,
137+
observer_type=ValueObserver,
133138
)
134139

135140
self.meter.register_observer(
@@ -138,6 +143,7 @@ def __init__(
138143
description="Runtime CPU",
139144
unit="seconds",
140145
value_type=float,
146+
observer_type=ValueObserver,
141147
)
142148

143149
self.meter.register_observer(
@@ -146,9 +152,10 @@ def __init__(
146152
description="Runtime: gc objects",
147153
unit="objects",
148154
value_type=int,
155+
observer_type=ValueObserver,
149156
)
150157

151-
def _get_system_memory(self, observer: metrics.Observer) -> None:
158+
def _get_system_memory(self, observer: metrics.ValueObserver) -> None:
152159
"""Observer callback for memory available
153160
154161
Args:
@@ -161,7 +168,7 @@ def _get_system_memory(self, observer: metrics.Observer) -> None:
161168
getattr(system_memory, metric), self._system_memory_labels
162169
)
163170

164-
def _get_system_cpu(self, observer: metrics.Observer) -> None:
171+
def _get_system_cpu(self, observer: metrics.ValueObserver) -> None:
165172
"""Observer callback for system cpu
166173
167174
Args:
@@ -174,7 +181,7 @@ def _get_system_cpu(self, observer: metrics.Observer) -> None:
174181
getattr(cpu_times, _type), self._system_cpu_labels
175182
)
176183

177-
def _get_network_bytes(self, observer: metrics.Observer) -> None:
184+
def _get_network_bytes(self, observer: metrics.ValueObserver) -> None:
178185
"""Observer callback for network bytes
179186
180187
Args:
@@ -187,7 +194,7 @@ def _get_network_bytes(self, observer: metrics.Observer) -> None:
187194
getattr(net_io, _type), self._network_bytes_labels
188195
)
189196

190-
def _get_runtime_memory(self, observer: metrics.Observer) -> None:
197+
def _get_runtime_memory(self, observer: metrics.ValueObserver) -> None:
191198
"""Observer callback for runtime memory
192199
193200
Args:
@@ -200,7 +207,7 @@ def _get_runtime_memory(self, observer: metrics.Observer) -> None:
200207
getattr(proc_memory, _type), self._runtime_memory_labels
201208
)
202209

203-
def _get_runtime_cpu(self, observer: metrics.Observer) -> None:
210+
def _get_runtime_cpu(self, observer: metrics.ValueObserver) -> None:
204211
"""Observer callback for runtime CPU
205212
206213
Args:
@@ -213,7 +220,7 @@ def _get_runtime_cpu(self, observer: metrics.Observer) -> None:
213220
getattr(proc_cpu, _type), self._runtime_cpu_labels
214221
)
215222

216-
def _get_runtime_gc_count(self, observer: metrics.Observer) -> None:
223+
def _get_runtime_gc_count(self, observer: metrics.ValueObserver) -> None:
217224
"""Observer callback for garbage collection
218225
219226
Args:

ext/opentelemetry-ext-system-metrics/tests/test_system_metrics.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ def _assert_metrics(self, observer_name, system_metrics, expected):
5454
):
5555
if (
5656
metric.labels in expected
57-
and metric.metric.name == observer_name
57+
and metric.instrument.name == observer_name
5858
):
5959
self.assertEqual(
6060
metric.aggregator.checkpoint.last, expected[metric.labels],

opentelemetry-api/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
([#751](https://github.com/open-telemetry/opentelemetry-python/pull/751))
77
- Rename Measure to ValueRecorder in metrics
88
([#761](https://github.com/open-telemetry/opentelemetry-python/pull/761))
9+
- Rename Observer to ValueObserver
10+
([#764](https://github.com/open-telemetry/opentelemetry-python/pull/764))
911

1012
## 0.8b0
1113

0 commit comments

Comments
 (0)