File tree Expand file tree Collapse file tree 6 files changed +110
-1
lines changed Expand file tree Collapse file tree 6 files changed +110
-1
lines changed Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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
Original file line number Diff line number Diff line change
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]
Original file line number Diff line number Diff line change 13
13
# limitations under the License.
14
14
15
15
# 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
Original file line number Diff line number Diff line change
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:
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ OpenTelemetry Python SDK
8
8
9
9
resources
10
10
trace
11
+ metrics
11
12
logs
12
13
error_handler
13
14
environment_variables
You can’t perform that action at this time.
0 commit comments