iii-observability 0.19.0.dev2__tar.gz → 0.19.0.dev3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/PKG-INFO +1 -1
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/pyproject.toml +1 -1
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/http_instrumentation.py +19 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/.gitignore +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/README.md +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/__init__.py +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/baggage_span_processor.py +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/logger.py +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/payload.py +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/py.typed +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/reconnection.py +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/span_ops.py +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/telemetry.py +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/telemetry_exporters.py +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/telemetry_types.py +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/tests/__init__.py +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/tests/test_http_instrumentation.py +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/tests/test_telemetry.py +0 -0
- {iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: iii-observability
|
|
3
|
-
Version: 0.19.0.
|
|
3
|
+
Version: 0.19.0.dev3
|
|
4
4
|
Summary: OpenTelemetry and logging primitives shared across iii SDKs.
|
|
5
5
|
Project-URL: Homepage, https://github.com/iii-hq/iii
|
|
6
6
|
Project-URL: Repository, https://github.com/iii-hq/iii
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "iii-observability"
|
|
7
|
-
version = "0.19.0.
|
|
7
|
+
version = "0.19.0.dev3"
|
|
8
8
|
description = "OpenTelemetry and logging primitives shared across iii SDKs."
|
|
9
9
|
authors = [{ name = "III" }]
|
|
10
10
|
license = { text = "Apache-2.0" }
|
|
@@ -7,6 +7,8 @@ traceparent into outgoing headers, and records exceptions on network errors.
|
|
|
7
7
|
|
|
8
8
|
from __future__ import annotations
|
|
9
9
|
|
|
10
|
+
import os
|
|
11
|
+
|
|
10
12
|
import httpx
|
|
11
13
|
from opentelemetry import trace
|
|
12
14
|
from opentelemetry.propagate import inject
|
|
@@ -20,6 +22,19 @@ def _span_name(method: str, path: str | None) -> str:
|
|
|
20
22
|
return f"{method} {path}" if path else method
|
|
21
23
|
|
|
22
24
|
|
|
25
|
+
def _fetch_ignore_url_patterns() -> list[str]:
|
|
26
|
+
"""Substring patterns from OTEL_FETCH_IGNORE_URLS (comma-separated)."""
|
|
27
|
+
return [
|
|
28
|
+
s.strip()
|
|
29
|
+
for s in (os.environ.get("OTEL_FETCH_IGNORE_URLS") or "").split(",")
|
|
30
|
+
if s.strip()
|
|
31
|
+
]
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def _should_ignore_fetch_url(url: str) -> bool:
|
|
35
|
+
return any(pattern in url for pattern in _fetch_ignore_url_patterns())
|
|
36
|
+
|
|
37
|
+
|
|
23
38
|
async def execute_traced_request(
|
|
24
39
|
client: httpx.AsyncClient,
|
|
25
40
|
request: httpx.Request,
|
|
@@ -32,6 +47,10 @@ async def execute_traced_request(
|
|
|
32
47
|
- Records exceptions for network-level errors.
|
|
33
48
|
"""
|
|
34
49
|
url = request.url
|
|
50
|
+
url_str = str(url)
|
|
51
|
+
if _should_ignore_fetch_url(url_str):
|
|
52
|
+
return await client.send(request)
|
|
53
|
+
|
|
35
54
|
method = request.method.upper()
|
|
36
55
|
path = url.path or None
|
|
37
56
|
query = url.query
|
|
File without changes
|
|
File without changes
|
{iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/logger.py
RENAMED
|
File without changes
|
{iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/payload.py
RENAMED
|
File without changes
|
{iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/py.typed
RENAMED
|
File without changes
|
|
File without changes
|
{iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/span_ops.py
RENAMED
|
File without changes
|
{iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/src/iii_observability/telemetry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iii_observability-0.19.0.dev2 → iii_observability-0.19.0.dev3}/tests/test_http_instrumentation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|