Skip to content

Commit ef978ad

Browse files
authored
Make metrics api/sdk packages private *._metrics (#2249)
* Make metrics api/sdk packages private `*._metrics` * add warning
1 parent 7539592 commit ef978ad

File tree

15 files changed

+47
-38
lines changed

15 files changed

+47
-38
lines changed

docs/api/metrics.instrument.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
opentelemetry.metrics.instrument
2-
================================
1+
opentelemetry._metrics.instrument
2+
=================================
33

4-
.. automodule:: opentelemetry.metrics.instrument
4+
.. automodule:: opentelemetry._metrics.instrument
55
:members:
66
:private-members:
77
:undoc-members:

docs/api/metrics.measurement.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
opentelemetry.metrics.measurement
2-
=================================
1+
opentelemetry._metrics.measurement
2+
==================================
33

4-
.. automodule:: opentelemetry.metrics.measurement
4+
.. automodule:: opentelemetry._metrics.measurement
55
:members:
66
:undoc-members:
77
:show-inheritance:

docs/api/metrics.rst

+10-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1-
opentelemetry.metrics package
2-
=============================
1+
opentelemetry._metrics package
2+
==============================
3+
4+
.. warning::
5+
OpenTelemetry Python metrics are in an experimental state. The APIs within
6+
:mod:`opentelemetry._metrics` are subject to change in minor/patch releases and make no
7+
backward compatability guarantees at this time.
8+
9+
Once metrics become stable, this package will be be renamed to ``opentelemetry.metrics``.
310

411
Submodules
512
----------
@@ -12,4 +19,4 @@ Submodules
1219
Module contents
1320
---------------
1421

15-
.. automodule:: opentelemetry.metrics
22+
.. automodule:: opentelemetry._metrics

docs/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
("py:class", "ValueT"),
100100
("py:class", "MetricT"),
101101
("py:class", "InstrumentT"),
102-
("py:obj", "opentelemetry.metrics.instrument.InstrumentT"),
102+
("py:obj", "opentelemetry._metrics.instrument.InstrumentT"),
103103
# Even if wrapt is added to intersphinx_mapping, sphinx keeps failing
104104
# with "class reference target not found: ObjectProxy".
105105
("py:class", "ObjectProxy"),

opentelemetry-api/src/opentelemetry/metrics/__init__.py renamed to opentelemetry-api/src/opentelemetry/_metrics/__init__.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@
2828
from threading import Lock
2929
from typing import List, Optional, cast
3030

31-
from opentelemetry.environment_variables import OTEL_PYTHON_METER_PROVIDER
32-
from opentelemetry.metrics.instrument import (
31+
from opentelemetry._metrics.instrument import (
3332
Counter,
3433
DefaultCounter,
3534
DefaultHistogram,
@@ -50,6 +49,7 @@
5049
_ProxyObservableUpDownCounter,
5150
_ProxyUpDownCounter,
5251
)
52+
from opentelemetry.environment_variables import OTEL_PYTHON_METER_PROVIDER
5353
from opentelemetry.util._once import Once
5454
from opentelemetry.util._providers import _load_provider
5555

@@ -147,7 +147,7 @@ def create_observable_counter(
147147
148148
An observable counter observes a monotonically increasing count by
149149
calling a provided callback which returns multiple
150-
:class:`~opentelemetry.metrics.measurement.Measurement`.
150+
:class:`~opentelemetry._metrics.measurement.Measurement`.
151151
152152
For example, an observable counter could be used to report system CPU
153153
time periodically. Here is a basic implementation::
@@ -187,7 +187,7 @@ def cpu_time_callback() -> Iterable[Measurement]:
187187
188188
Alternatively, you can pass a generator directly instead of a callback,
189189
which should return iterables of
190-
:class:`~opentelemetry.metrics.measurement.Measurement`::
190+
:class:`~opentelemetry._metrics.measurement.Measurement`::
191191
192192
def cpu_time_callback(states_to_include: set[str]) -> Iterable[Iterable[Measurement]]:
193193
while True:
@@ -214,9 +214,9 @@ def cpu_time_callback(states_to_include: set[str]) -> Iterable[Iterable[Measurem
214214
Args:
215215
name: The name of the instrument to be created
216216
callback: A callback that returns an iterable of
217-
:class:`~opentelemetry.metrics.measurement.Measurement`.
217+
:class:`~opentelemetry._metrics.measurement.Measurement`.
218218
Alternatively, can be a generator that yields iterables of
219-
:class:`~opentelemetry.metrics.measurement.Measurement`.
219+
:class:`~opentelemetry._metrics.measurement.Measurement`.
220220
unit: The unit for measurements this instrument reports. For
221221
example, ``By`` for bytes. UCUM units are recommended.
222222
description: A description for this instrument and what it measures.

opentelemetry-api/src/opentelemetry/metrics/instrument.py renamed to opentelemetry-api/src/opentelemetry/_metrics/instrument.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
)
3131

3232
# pylint: disable=unused-import; needed for typing and sphinx
33-
from opentelemetry import metrics
34-
from opentelemetry.metrics.measurement import Measurement
33+
from opentelemetry import _metrics as metrics
34+
from opentelemetry._metrics.measurement import Measurement
3535

3636
_TInstrumentCallback = Callable[[], Iterable[Measurement]]
3737
_TInstrumentCallbackGenerator = Generator[Iterable[Measurement], None, None]

opentelemetry-api/tests/metrics/integration_test/test_cpu_time.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
from typing import Generator, Iterable
1818
from unittest import TestCase
1919

20-
from opentelemetry.metrics import _DefaultMeter
21-
from opentelemetry.metrics.measurement import Measurement
20+
from opentelemetry._metrics import _DefaultMeter
21+
from opentelemetry._metrics.measurement import Measurement
2222

2323
# FIXME Test that the instrument methods can be called concurrently safely.
2424

opentelemetry-api/tests/metrics/test_instruments.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
from inspect import Signature, isabstract, signature
1717
from unittest import TestCase
1818

19-
from opentelemetry.metrics import Meter, _DefaultMeter
20-
from opentelemetry.metrics.instrument import (
19+
from opentelemetry._metrics import Meter, _DefaultMeter
20+
from opentelemetry._metrics.instrument import (
2121
Counter,
2222
DefaultCounter,
2323
DefaultHistogram,

opentelemetry-api/tests/metrics/test_measurement.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
from unittest import TestCase
1616

17-
from opentelemetry.metrics.measurement import Measurement
17+
from opentelemetry._metrics.measurement import Measurement
1818

1919

2020
class TestMeasurement(TestCase):

opentelemetry-api/tests/metrics/test_meter.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
from unittest import TestCase
1717

18-
from opentelemetry.metrics import Meter
18+
from opentelemetry._metrics import Meter
1919

2020
# FIXME Test that the meter methods can be called concurrently safely.
2121

opentelemetry-api/tests/metrics/test_meter_provider.py

+9-7
Original file line numberDiff line numberDiff line change
@@ -18,24 +18,24 @@
1818

1919
from pytest import fixture
2020

21-
from opentelemetry import metrics
22-
from opentelemetry.environment_variables import OTEL_PYTHON_METER_PROVIDER
23-
from opentelemetry.metrics import (
21+
from opentelemetry import _metrics as metrics
22+
from opentelemetry._metrics import (
2423
_DefaultMeter,
2524
_DefaultMeterProvider,
2625
_ProxyMeter,
2726
_ProxyMeterProvider,
2827
get_meter_provider,
2928
set_meter_provider,
3029
)
31-
from opentelemetry.metrics.instrument import (
30+
from opentelemetry._metrics.instrument import (
3231
_ProxyCounter,
3332
_ProxyHistogram,
3433
_ProxyObservableCounter,
3534
_ProxyObservableGauge,
3635
_ProxyObservableUpDownCounter,
3736
_ProxyUpDownCounter,
3837
)
38+
from opentelemetry.environment_variables import OTEL_PYTHON_METER_PROVIDER
3939
from opentelemetry.test.globals_test import (
4040
MetricsGlobalsTest,
4141
reset_metrics_globals,
@@ -67,7 +67,9 @@ def test_set_meter_provider(reset_meter_provider):
6767

6868

6969
def test_set_meter_provider_calls_proxy_provider(reset_meter_provider):
70-
with patch("opentelemetry.metrics._PROXY_METER_PROVIDER") as mock_proxy_mp:
70+
with patch(
71+
"opentelemetry._metrics._PROXY_METER_PROVIDER"
72+
) as mock_proxy_mp:
7173
mock_real_mp = Mock()
7274
set_meter_provider(mock_real_mp)
7375
mock_proxy_mp.on_set_meter_provider.assert_called_once_with(
@@ -90,9 +92,9 @@ def test_get_meter_provider(reset_meter_provider):
9092
"os.environ", {OTEL_PYTHON_METER_PROVIDER: "test_meter_provider"}
9193
):
9294

93-
with patch("opentelemetry.metrics._load_provider", Mock()):
95+
with patch("opentelemetry._metrics._load_provider", Mock()):
9496
with patch(
95-
"opentelemetry.metrics.cast",
97+
"opentelemetry._metrics.cast",
9698
Mock(**{"return_value": "test_meter_provider"}),
9799
):
98100
assert get_meter_provider() == "test_meter_provider"

opentelemetry-sdk/src/opentelemetry/sdk/metrics/__init__.py renamed to opentelemetry-sdk/src/opentelemetry/sdk/_metrics/__init__.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@
1919
from logging import getLogger
2020
from typing import Optional
2121

22-
from opentelemetry.metrics import Meter as APIMeter
23-
from opentelemetry.metrics import MeterProvider as APIMeterProvider
24-
from opentelemetry.metrics import _DefaultMeter
25-
from opentelemetry.metrics.instrument import (
22+
from opentelemetry._metrics import Meter as APIMeter
23+
from opentelemetry._metrics import MeterProvider as APIMeterProvider
24+
from opentelemetry._metrics import _DefaultMeter
25+
from opentelemetry._metrics.instrument import (
2626
Counter,
2727
Histogram,
2828
ObservableCounter,
@@ -80,7 +80,7 @@ def create_observable_up_down_counter(
8080

8181

8282
class MeterProvider(APIMeterProvider):
83-
"""See `opentelemetry.metrics.MeterProvider`."""
83+
"""See `opentelemetry._metrics.MeterProvider`."""
8484

8585
def __init__(
8686
self,

opentelemetry-sdk/tests/metrics/test_metrics.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from unittest import TestCase
1818
from unittest.mock import Mock
1919

20-
from opentelemetry.sdk.metrics import (
20+
from opentelemetry.sdk._metrics import (
2121
ConsoleMetricExporter,
2222
MeterProvider,
2323
SDKMetricReader,

tests/util/src/opentelemetry/test/globals_test.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
import unittest
1616

17-
from opentelemetry import metrics as metrics_api
17+
from opentelemetry import _metrics as metrics_api
1818
from opentelemetry import trace as trace_api
1919
from opentelemetry.util._once import Once
2020

0 commit comments

Comments
 (0)