Skip to content

Commit 7413895

Browse files
authored
Make metrics public (#2684)
* Make metrics public Fixes #2682 * Make environment variable public * Make environment variable public * Fix example * Make exporter public * Fix environment variable import path * Fix exporter * Fix lint * Fix import order * Add tag * Fix import path
1 parent 91211b3 commit 7413895

File tree

58 files changed

+259
-285
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+259
-285
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased](https://github.com/open-telemetry/opentelemetry-python/compare/v1.11.1-0.30b1...HEAD)
99

10+
- Make metrics components public
11+
([#2684](https://github.com/open-telemetry/opentelemetry-python/pull/2684))
1012
- Update to semantic conventions v1.11.0
1113
([#2669](https://github.com/open-telemetry/opentelemetry-python/pull/2669))
1214
- Update opentelemetry-proto to v0.17.0

docs/api/metrics.rst

+3-10
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
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``.
1+
opentelemetry.metrics package
2+
=============================
103

114
.. toctree::
125

136

147
Module contents
158
---------------
169

17-
.. automodule:: opentelemetry._metrics
10+
.. automodule:: opentelemetry.metrics

docs/conf.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@
9999
("py:class", "ValueT"),
100100
(
101101
"py:class",
102-
"opentelemetry.sdk._metrics._internal.instrument._Synchronous",
102+
"opentelemetry.sdk.metrics._internal.instrument._Synchronous",
103103
),
104104
(
105105
"py:class",
106-
"opentelemetry.sdk._metrics._internal.instrument._Asynchronous",
106+
"opentelemetry.sdk.metrics._internal.instrument._Asynchronous",
107107
),
108108
# Even if wrapt is added to intersphinx_mapping, sphinx keeps failing
109109
# with "class reference target not found: ObjectProxy".

docs/examples/metrics/README.rst

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
OpenTelemetry Metrics SDK
22
=========================
33

4-
.. warning::
5-
OpenTelemetry Python metrics are in an experimental state. The APIs within
6-
:mod:`opentelemetry.sdk._metrics` are subject to change in minor/patch releases and there are no
7-
backward compatability guarantees at this time.
8-
94
Start the Collector locally to see data being exported. Write the following file:
105

116
.. code-block:: yaml
@@ -45,4 +40,4 @@ The resulting metrics will appear in the output from the collector and look simi
4540

4641
.. code-block:: sh
4742
48-
TODO
43+
TODO

docs/examples/metrics/example.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
from typing import Iterable
22

3-
from opentelemetry._metrics import (
3+
from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import (
4+
OTLPMetricExporter,
5+
)
6+
from opentelemetry.metrics import (
7+
CallbackOptions,
48
Observation,
59
get_meter_provider,
610
set_meter_provider,
711
)
8-
from opentelemetry._metrics._internal.instrument import CallbackOptions
9-
from opentelemetry.exporter.otlp.proto.grpc._metric_exporter import (
10-
OTLPMetricExporter,
11-
)
12-
from opentelemetry.sdk._metrics import MeterProvider
13-
from opentelemetry.sdk._metrics.export import PeriodicExportingMetricReader
12+
from opentelemetry.sdk.metrics import MeterProvider
13+
from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader
1414

1515
exporter = OTLPMetricExporter(insecure=True)
1616
reader = PeriodicExportingMetricReader(exporter)

docs/getting_started/metrics_example.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@
1717

1818
from typing import Iterable
1919

20-
from opentelemetry._metrics import (
20+
from opentelemetry.metrics import (
2121
CallbackOptions,
2222
Observation,
2323
get_meter_provider,
2424
set_meter_provider,
2525
)
26-
from opentelemetry.sdk._metrics import MeterProvider
27-
from opentelemetry.sdk._metrics.export import (
26+
from opentelemetry.sdk.metrics import MeterProvider
27+
from opentelemetry.sdk.metrics.export import (
2828
ConsoleMetricExporter,
2929
PeriodicExportingMetricReader,
3030
)

docs/sdk/metrics.export.rst

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

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

docs/sdk/metrics.rst

+2-9
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
1-
opentelemetry.sdk._metrics package
1+
opentelemetry.sdk.metrics package
22
==================================
33

4-
.. warning::
5-
OpenTelemetry Python metrics are in an experimental state. The APIs within
6-
:mod:`opentelemetry.sdk._metrics` are subject to change in minor/patch releases and there are no
7-
backward compatability guarantees at this time.
8-
9-
Once metrics become stable, this package will be be renamed to ``opentelemetry.sdk.metrics``.
10-
114
Submodules
125
----------
136

@@ -16,7 +9,7 @@ Submodules
169
metrics.export
1710
metrics.view
1811

19-
.. automodule:: opentelemetry.sdk._metrics
12+
.. automodule:: opentelemetry.sdk.metrics
2013
:members:
2114
:undoc-members:
2215
:show-inheritance:

docs/sdk/metrics.view.rst

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

4-
.. automodule:: opentelemetry.sdk._metrics.view
4+
.. automodule:: opentelemetry.sdk.metrics.view
55
:members:
66
:undoc-members:
77
:show-inheritance:
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,14 @@
3030
from opentelemetry.sdk.environment_variables import (
3131
OTEL_EXPORTER_OTLP_METRICS_INSECURE,
3232
)
33-
from opentelemetry.sdk._metrics.export import (
33+
from opentelemetry.sdk.metrics.export import (
3434
Gauge,
3535
Histogram,
3636
Metric,
3737
Sum,
3838
)
3939

40-
from opentelemetry.sdk._metrics.export import (
40+
from opentelemetry.sdk.metrics.export import (
4141
MetricExporter,
4242
MetricExportResult,
4343
MetricsData,

exporter/opentelemetry-exporter-otlp-proto-grpc/tests/metrics/test_otlp_metrics_exporter.py

+6-6
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from google.rpc.error_details_pb2 import RetryInfo
2121
from grpc import StatusCode, server
2222

23-
from opentelemetry.exporter.otlp.proto.grpc._metric_exporter import (
23+
from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import (
2424
OTLPMetricExporter,
2525
)
2626
from opentelemetry.proto.collector.metrics.v1.metrics_service_pb2 import (
@@ -40,7 +40,10 @@
4040
from opentelemetry.proto.resource.v1.resource_pb2 import (
4141
Resource as OTLPResource,
4242
)
43-
from opentelemetry.sdk._metrics.export import (
43+
from opentelemetry.sdk.environment_variables import (
44+
OTEL_EXPORTER_OTLP_METRICS_INSECURE,
45+
)
46+
from opentelemetry.sdk.metrics.export import (
4447
AggregationTemporality,
4548
Histogram,
4649
HistogramDataPoint,
@@ -50,9 +53,6 @@
5053
ResourceMetrics,
5154
ScopeMetrics,
5255
)
53-
from opentelemetry.sdk.environment_variables import (
54-
OTEL_EXPORTER_OTLP_METRICS_INSECURE,
55-
)
5656
from opentelemetry.sdk.resources import Resource
5757
from opentelemetry.sdk.util.instrumentation import (
5858
InstrumentationScope as SDKInstrumentationScope,
@@ -303,7 +303,7 @@ def tearDown(self):
303303
)
304304
@patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel")
305305
@patch(
306-
"opentelemetry.exporter.otlp.proto.grpc._metric_exporter.OTLPMetricExporter._stub"
306+
"opentelemetry.exporter.otlp.proto.grpc.metric_exporter.OTLPMetricExporter._stub"
307307
)
308308
# pylint: disable=unused-argument
309309
def test_no_credentials_error(

exporter/opentelemetry-exporter-otlp/tests/test_otlp.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
from opentelemetry.exporter.otlp.proto.grpc._log_exporter import (
1818
OTLPLogExporter,
1919
)
20-
from opentelemetry.exporter.otlp.proto.grpc._metric_exporter import (
20+
from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import (
2121
OTLPMetricExporter,
2222
)
2323
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import (

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

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@
2929
3030
from prometheus_client import start_http_server
3131
32-
from opentelemetry._metrics import get_meter_provider, set_meter_provider
3332
from opentelemetry.exporter.prometheus import PrometheusMetricReader
34-
from opentelemetry.sdk._metrics import MeterProvider
33+
from opentelemetry.metrics import get_meter_provider, set_meter_provider
34+
from opentelemetry.sdk.metrics import MeterProvider
3535
3636
# Start Prometheus client
3737
start_http_server(port=8000, addr="localhost")
@@ -77,7 +77,7 @@
7777
)
7878
from prometheus_client.core import Metric as PrometheusMetric
7979

80-
from opentelemetry.sdk._metrics.export import (
80+
from opentelemetry.sdk.metrics.export import (
8181
Gauge,
8282
Histogram,
8383
HistogramDataPoint,

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
PrometheusMetricReader,
2424
_CustomCollector,
2525
)
26-
from opentelemetry.sdk._metrics.export import (
26+
from opentelemetry.sdk.metrics.export import (
2727
AggregationTemporality,
2828
Histogram,
2929
HistogramDataPoint,

opentelemetry-api/src/opentelemetry/environment_variables.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
.. envvar:: OTEL_PYTHON_TRACER_PROVIDER
5050
"""
5151

52-
_OTEL_PYTHON_METER_PROVIDER = "OTEL_PYTHON_METER_PROVIDER"
52+
OTEL_PYTHON_METER_PROVIDER = "OTEL_PYTHON_METER_PROVIDER"
5353
"""
5454
.. envvar:: OTEL_PYTHON_METER_PROVIDER
5555
"""

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

+5-4
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,16 @@
3030
3131
The following code shows how to obtain a meter using the global :class:`.MeterProvider`::
3232
33-
from opentelemetry._metrics import get_meter
33+
from opentelemetry.metrics import get_meter
3434
3535
meter = get_meter("example-meter")
3636
counter = meter.create_counter("example-counter")
3737
3838
.. versionadded:: 1.10.0
39+
.. versionchanged:: 1.12.0rc
3940
"""
4041

41-
from opentelemetry._metrics._internal import (
42+
from opentelemetry.metrics._internal import (
4243
Meter,
4344
MeterProvider,
4445
NoOpMeter,
@@ -47,7 +48,7 @@
4748
get_meter_provider,
4849
set_meter_provider,
4950
)
50-
from opentelemetry._metrics._internal.instrument import (
51+
from opentelemetry.metrics._internal.instrument import (
5152
Asynchronous,
5253
CallbackOptions,
5354
CallbackT,
@@ -66,7 +67,7 @@
6667
Synchronous,
6768
UpDownCounter,
6869
)
69-
from opentelemetry._metrics._internal.observation import Observation
70+
from opentelemetry.metrics._internal.observation import Observation
7071

7172
for obj in [
7273
Counter,

0 commit comments

Comments
 (0)