Skip to content
This repository was archived by the owner on Nov 16, 2023. It is now read-only.

Commit 66321f4

Browse files
authored
Merge pull request #89 from lzchen/release
2 parents ecb13f0 + 3bded54 commit 66321f4

Some content is hidden

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

44 files changed

+1330
-265
lines changed

.coveragerc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ omit =
55
azure_monitor/tests/*
66

77
[report]
8-
fail_under = 98
8+
fail_under = 90
99
show_missing = True
1010
omit =
1111
azure_monitor/setup.py

CHANGELOG.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

README.md

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
# OpenTelemetry Azure Monitor SDKs and Exporters
1+
# OpenTelemetry Azure Monitor
22

33
[![Gitter chat](https://img.shields.io/gitter/room/Microsoft/azure-monitor-python)](https://gitter.im/Microsoft/azure-monitor-python)
44
[![Build status](https://travis-ci.org/microsoft/opentelemetry-azure-monitor-python.svg?branch=master)](https://travis-ci.org/microsoft/opentelemetry-azure-monitor-python)
5-
[![PyPI version](https://badge.fury.io/py/opentelemetry-azure-monitor.svg)](https://badge.fury.io/py/opentelemetry-azure-monitor)
65

76
## Installation
87

@@ -14,9 +13,9 @@ pip install opentelemetry-azure-monitor
1413

1514
The online documentation is available at https://opentelemetry-azure-monitor-python.readthedocs.io/.
1615

17-
1816
## Usage
1917

18+
2019
### Trace
2120

2221
The **Azure Monitor Trace Exporter** allows you to export [OpenTelemetry](https://opentelemetry.io/) traces to [Azure Monitor](https://docs.microsoft.com/azure/azure-monitor/).
@@ -68,7 +67,7 @@ import requests
6867

6968
from azure_monitor import AzureMonitorSpanExporter
7069
from opentelemetry import trace
71-
from opentelemetry.ext import http_requests
70+
from opentelemetry.ext.requests import RequestsInstrumentor
7271
from opentelemetry.sdk.trace import TracerProvider
7372
from opentelemetry.sdk.trace.export import BatchExportSpanProcessor
7473

@@ -81,7 +80,7 @@ exporter = AzureMonitorSpanExporter(
8180
span_processor = BatchExportSpanProcessor(exporter)
8281
tracer_provider.add_span_processor(span_processor)
8382

84-
http_requests.enable(tracer_provider)
83+
RequestsInstrumentor().instrument()
8584
response = requests.get(url="https://azure.microsoft.com/")
8685
```
8786

@@ -129,8 +128,6 @@ This example shows how to track a counter metric and send it as telemetry every
129128
* Alternatively, you can specify your `connection string` in an environment variable ``APPLICATIONINSIGHTS_CONNECTION_STRING``.
130129

131130
```python
132-
import time
133-
134131
from azure_monitor import AzureMonitorMetricsExporter
135132
from opentelemetry import metrics
136133
from opentelemetry.sdk.metrics import Counter, MeterProvider
@@ -152,18 +149,8 @@ requests_counter = meter.create_metric(
152149
label_keys=("environment",),
153150
)
154151

155-
testing_label_set = meter.get_label_set({"environment": "testing"})
152+
testing_labels = {"environment": "testing"}
156153

157-
requests_counter.add(25, testing_label_set)
158-
time.sleep(100)
154+
requests_counter.add(25, testing_labels)
155+
input("...")
159156
```
160-
161-
# References
162-
163-
[Azure Monitor](https://docs.microsoft.com/azure/azure-monitor/)
164-
165-
[OpenTelemetry Project](https://opentelemetry.io/)
166-
167-
[OpenTelemetry Python Client](https://github.com/open-telemetry/opentelemetry-python)
168-
169-
[Azure Monitor Python Gitter](https://gitter.im/Microsoft/azure-monitor-python)

azure_monitor/CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Changelog
2+
3+
## Unreleased
4+
5+
## 0.3b.0
6+
Released 2020-05-19
7+
8+
- Implement max size logic for local storage
9+
([#74](https://github.com/microsoft/opentelemetry-azure-monitor-python/pull/74))
10+
- Remove label sets + add is_remote to spancontext
11+
([#75](https://github.com/microsoft/opentelemetry-azure-monitor-python/pull/75))
12+
- Adding live metrics manager
13+
([#78](https://github.com/microsoft/opentelemetry-azure-monitor-python/pull/78))
14+
- Handle status 439 - Too Many Requests over extended time
15+
([#80](https://github.com/microsoft/opentelemetry-azure-monitor-python/pull/80))
16+
- Fix breaking changes from OT release 0.7b.0
17+
([#86](https://github.com/microsoft/opentelemetry-azure-monitor-python/pull/86))
18+
19+
## 0.2b.0
20+
Released 2020-03-31
21+
22+
- Initial beta release
23+
24+
## 0.1a.0
25+
Released 2019-11-06
26+
27+
- Initial alpha release

azure_monitor/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# OpenTelemetry Azure Monitor SDKs and Exporters
2+
3+
[![PyPI version](https://badge.fury.io/py/opentelemetry-azure-monitor.svg)](https://badge.fury.io/py/opentelemetry-azure-monitor)
4+
5+
## Installation
6+
7+
```sh
8+
pip install opentelemetry-azure-monitor
9+
```
10+
11+
# References
12+
13+
[Azure Monitor](https://docs.microsoft.com/azure/azure-monitor/)
14+
15+
[OpenTelemetry Project](https://opentelemetry.io/)
16+
17+
[OpenTelemetry Python Client](https://github.com/open-telemetry/opentelemetry-python)
18+
19+
[Azure Monitor Python Gitter](https://gitter.im/Microsoft/azure-monitor-python)

azure_monitor/examples/metrics/auto_collector.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
)
1515
controller = PushController(meter, exporter, 5)
1616

17-
testing_label_set = meter.get_label_set({"environment": "testing"})
17+
testing_label_set = {"environment": "testing"}
1818

1919
# Automatically collect standard metrics
20-
auto_collection = AutoCollection(meter=meter, label_set=testing_label_set)
20+
auto_collection = AutoCollection(meter=meter, labels=testing_label_set)
2121

2222
# To configure a separate export interval specific for standard metrics
2323
# meter_standard = metrics.get_meter(__name__ + "_standard")

azure_monitor/examples/metrics/client.py

Lines changed: 0 additions & 26 deletions
This file was deleted.
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Copyright (c) Microsoft Corporation. All rights reserved.
2+
# Licensed under the MIT License.
3+
import psutil
4+
from opentelemetry import metrics
5+
from opentelemetry.sdk.metrics import MeterProvider
6+
from opentelemetry.sdk.metrics.export.controller import PushController
7+
8+
from azure_monitor import AzureMonitorMetricsExporter
9+
10+
metrics.set_meter_provider(MeterProvider())
11+
meter = metrics.get_meter(__name__)
12+
exporter = AzureMonitorMetricsExporter(
13+
connection_string="InstrumentationKey=<INSTRUMENTATION KEY HERE>"
14+
)
15+
controller = PushController(meter=meter, exporter=exporter, interval=2)
16+
17+
18+
# Callback to gather cpu usage
19+
def get_cpu_usage_callback(observer):
20+
for (number, percent) in enumerate(psutil.cpu_percent(percpu=True)):
21+
labels = {"cpu_number": str(number)}
22+
observer.observe(percent, labels)
23+
24+
25+
meter.register_observer(
26+
callback=get_cpu_usage_callback,
27+
name="cpu_percent",
28+
description="per-cpu usage",
29+
unit="1",
30+
value_type=float,
31+
label_keys=("cpu_number",),
32+
)
33+
34+
35+
# Callback to gather RAM memory usage
36+
def get_ram_usage_callback(observer):
37+
ram_percent = psutil.virtual_memory().percent
38+
observer.observe(ram_percent, {})
39+
40+
41+
meter.register_observer(
42+
callback=get_ram_usage_callback,
43+
name="ram_percent",
44+
description="RAM memory usage",
45+
unit="1",
46+
value_type=float,
47+
label_keys=(),
48+
)
49+
50+
input("Metrics will be printed soon. Press a key to finish...\n")

azure_monitor/examples/metrics/simple.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
label_keys=("environment",),
2323
)
2424

25-
testing_label_set = meter.get_label_set({"environment": "testing"})
25+
testing_labels = {"environment": "testing"}
2626

27-
requests_counter.add(25, testing_label_set)
27+
requests_counter.add(25, testing_labels)
2828

2929
input("Press any key to exit...")

azure_monitor/examples/traces/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
## Installation
33

44
```sh
5-
$ pip install opentelemetry-azure-monitor-exporter
5+
$ pip install opentelemetry-azure-monitor
66
```
77

88
## Run the Applications

0 commit comments

Comments
 (0)