Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 8ff97ea

Browse files
author
Alex Boten
authored
[docs] add metrics examples (open-telemetry#2371)
1 parent 54d36c3 commit 8ff97ea

File tree

6 files changed

+110
-1
lines changed

6 files changed

+110
-1
lines changed

docs/examples/metrics/README.rst

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
OpenTelemetry Metrics SDK
2+
=========================
3+
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+
Start the Collector locally to see data being exported. Write the following file:
10+
11+
.. code-block:: yaml
12+
13+
# otel-collector-config.yaml
14+
receivers:
15+
otlp:
16+
protocols:
17+
grpc:
18+
19+
exporters:
20+
logging:
21+
22+
processors:
23+
batch:
24+
25+
service:
26+
pipelines:
27+
metrics:
28+
receivers: [otlp]
29+
exporters: [logging]
30+
31+
Then start the Docker container:
32+
33+
.. code-block:: sh
34+
35+
docker run \
36+
-p 4317:4317 \
37+
-v $(pwd)/otel-collector-config.yaml:/etc/otel/config.yaml \
38+
otel/opentelemetry-collector-contrib:latest
39+
40+
.. code-block:: sh
41+
42+
$ python example.py
43+
44+
The resulting metrics will appear in the output from the collector and look similar to this:
45+
46+
.. code-block:: sh
47+
48+
TODO

docs/examples/metrics/example.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from opentelemetry._metrics import get_meter_provider, set_meter_provider
2+
from opentelemetry.exporter.otlp.proto.grpc._metric_exporter import (
3+
OTLPMetricExporter,
4+
)
5+
from opentelemetry.sdk._metrics import MeterProvider
6+
7+
provider = MeterProvider()
8+
exporter = OTLPMetricExporter(insecure=True)
9+
# TODO: fill in details for metric reader
10+
set_meter_provider(provider)
11+
12+
meter = get_meter_provider().get_meter("getting-started")
13+
counter = meter.create_counter("first_counter")
14+
# TODO: fill in details for additional metrics
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
receivers:
2+
otlp:
3+
protocols:
4+
grpc:
5+
6+
exporters:
7+
logging:
8+
9+
processors:
10+
batch:
11+
12+
service:
13+
pipelines:
14+
metrics:
15+
receivers: [otlp]
16+
exporters: [logging]

docs/getting_started/metrics_example.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,17 @@
1313
# limitations under the License.
1414

1515
# metrics.py
16-
# TODO
16+
# This is still work in progress as the metrics SDK is being implemented
17+
18+
from opentelemetry._metrics import get_meter_provider, set_meter_provider
19+
from opentelemetry.sdk._metrics import MeterProvider
20+
from opentelemetry.sdk._metrics.export import ConsoleMetricExporter
21+
22+
provider = MeterProvider()
23+
exporter = ConsoleMetricExporter()
24+
# TODO: fill in details for metric reader
25+
set_meter_provider(provider)
26+
27+
meter = get_meter_provider().get_meter("getting-started")
28+
counter = meter.create_counter("first_counter")
29+
# TODO: fill in details for additional metrics

docs/sdk/metrics.rst

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
opentelemetry.sdk._metrics package
2+
==================================
3+
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 logs become stable, this package will be be renamed to ``opentelemetry.sdk.metrics``.
10+
11+
Submodules
12+
----------
13+
14+
.. automodule:: opentelemetry.sdk._metrics
15+
:members:
16+
:undoc-members:
17+
:show-inheritance:

docs/sdk/sdk.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ OpenTelemetry Python SDK
88

99
resources
1010
trace
11+
metrics
1112
logs
1213
error_handler
1314
environment_variables

0 commit comments

Comments
 (0)