platzky 1.0.0__tar.gz → 1.0.1__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.
- {platzky-1.0.0 → platzky-1.0.1}/PKG-INFO +2 -1
- {platzky-1.0.0 → platzky-1.0.1}/platzky/config.py +2 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/telemetry.py +9 -0
- {platzky-1.0.0 → platzky-1.0.1}/pyproject.toml +4 -1
- {platzky-1.0.0 → platzky-1.0.1}/LICENSE +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/README.md +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/__init__.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/admin/admin.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/admin/fake_login.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/admin/templates/admin.html +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/admin/templates/login.html +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/admin/templates/module.html +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/blog/__init__.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/blog/blog.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/blog/comment_form.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/db/README.md +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/db/__init__.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/db/db.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/db/db_loader.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/db/github_json_db.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/db/google_json_db.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/db/graph_ql_db.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/db/json_db.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/db/json_file_db.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/db/mongodb_db.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/engine.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/locale/en/LC_MESSAGES/messages.po +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/locale/pl/LC_MESSAGES/messages.po +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/models.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/platzky.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/plugin/plugin.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/plugin/plugin_loader.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/seo/seo.py +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/static/blog.css +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/static/styles.css +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/404.html +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/base.html +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/blog.html +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/body_meta.html +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/dynamic_css.html +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/feed.xml +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/head_meta.html +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/page.html +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/post.html +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/robots.txt +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/sitemap.xml +0 -0
- {platzky-1.0.0 → platzky-1.0.1}/platzky/www_handler.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: platzky
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.1
|
|
4
4
|
Summary: Not only blog engine
|
|
5
5
|
License: MIT
|
|
6
6
|
License-File: LICENSE
|
|
@@ -28,6 +28,7 @@ Requires-Dist: myst-parser (>=4.0.0,<5.0.0) ; extra == "docs"
|
|
|
28
28
|
Requires-Dist: opentelemetry-api (>=1.27.0,<2.0.0) ; extra == "telemetry"
|
|
29
29
|
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc (>=1.27.0,<2.0.0) ; extra == "telemetry"
|
|
30
30
|
Requires-Dist: opentelemetry-instrumentation-flask (>=0.48b0,<0.49) ; extra == "telemetry"
|
|
31
|
+
Requires-Dist: opentelemetry-instrumentation-logging (>=0.48b0,<0.49) ; extra == "telemetry"
|
|
31
32
|
Requires-Dist: opentelemetry-sdk (>=1.27.0,<2.0.0) ; extra == "telemetry"
|
|
32
33
|
Requires-Dist: pydantic (>=2.7.1,<3.0.0)
|
|
33
34
|
Requires-Dist: pygithub (>=2.6.1,<3.0.0)
|
|
@@ -75,6 +75,7 @@ class TelemetryConfig(StrictBaseModel):
|
|
|
75
75
|
service_instance_id: Service instance ID (auto-generated if not provided)
|
|
76
76
|
flush_on_request: Flush spans after each request (default: True, may impact latency)
|
|
77
77
|
flush_timeout_ms: Timeout in milliseconds for per-request flush (default: 5000)
|
|
78
|
+
instrument_logging: Enable automatic logging instrumentation (default: True)
|
|
78
79
|
"""
|
|
79
80
|
|
|
80
81
|
enabled: bool = Field(default=False, alias="enabled")
|
|
@@ -85,6 +86,7 @@ class TelemetryConfig(StrictBaseModel):
|
|
|
85
86
|
service_instance_id: t.Optional[str] = Field(default=None, alias="service_instance_id")
|
|
86
87
|
flush_on_request: bool = Field(default=True, alias="flush_on_request")
|
|
87
88
|
flush_timeout_ms: int = Field(default=5000, alias="flush_timeout_ms", gt=0)
|
|
89
|
+
instrument_logging: bool = Field(default=True, alias="instrument_logging")
|
|
88
90
|
|
|
89
91
|
@field_validator("endpoint")
|
|
90
92
|
@classmethod
|
|
@@ -22,6 +22,7 @@ def setup_telemetry(app: "Engine", telemetry_config: TelemetryConfig) -> Optiona
|
|
|
22
22
|
|
|
23
23
|
Configures and initializes OpenTelemetry tracing with OTLP and/or console exporters.
|
|
24
24
|
Automatically instruments Flask to capture HTTP requests and trace information.
|
|
25
|
+
Optionally instruments logging to add trace context to log records.
|
|
25
26
|
|
|
26
27
|
Args:
|
|
27
28
|
app: Engine instance (Flask-based application)
|
|
@@ -51,6 +52,7 @@ def setup_telemetry(app: "Engine", telemetry_config: TelemetryConfig) -> Optiona
|
|
|
51
52
|
from opentelemetry import trace
|
|
52
53
|
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
|
|
53
54
|
from opentelemetry.instrumentation.flask import FlaskInstrumentor
|
|
55
|
+
from opentelemetry.instrumentation.logging import LoggingInstrumentor
|
|
54
56
|
from opentelemetry.sdk.resources import Resource
|
|
55
57
|
from opentelemetry.sdk.trace import TracerProvider
|
|
56
58
|
from opentelemetry.sdk.trace.export import (
|
|
@@ -107,6 +109,13 @@ def setup_telemetry(app: "Engine", telemetry_config: TelemetryConfig) -> Optiona
|
|
|
107
109
|
|
|
108
110
|
trace.set_tracer_provider(provider)
|
|
109
111
|
FlaskInstrumentor().instrument_app(app)
|
|
112
|
+
|
|
113
|
+
# Instrument logging to add trace context to log records
|
|
114
|
+
# Note: set_logging_format=False to avoid modifying existing log formats
|
|
115
|
+
# Users can access trace context in their custom formatters via log record attributes
|
|
116
|
+
if telemetry_config.instrument_logging:
|
|
117
|
+
LoggingInstrumentor().instrument(set_logging_format=False)
|
|
118
|
+
|
|
110
119
|
app.telemetry_instrumented = True
|
|
111
120
|
|
|
112
121
|
# Optionally flush spans after each request (may impact latency)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "platzky"
|
|
3
|
-
version = "1.0.
|
|
3
|
+
version = "1.0.1"
|
|
4
4
|
description = "Not only blog engine"
|
|
5
5
|
authors = []
|
|
6
6
|
license = "MIT"
|
|
@@ -28,6 +28,7 @@ myst-parser = {version = "^4.0.0", optional = true}
|
|
|
28
28
|
opentelemetry-api = {version = "^1.27.0", optional = true}
|
|
29
29
|
opentelemetry-sdk = {version = "^1.27.0", optional = true}
|
|
30
30
|
opentelemetry-instrumentation-flask = {version = "^0.48b0", optional = true}
|
|
31
|
+
opentelemetry-instrumentation-logging = {version = "^0.48b0", optional = true}
|
|
31
32
|
opentelemetry-exporter-otlp-proto-grpc = {version = "^1.27.0", optional = true}
|
|
32
33
|
|
|
33
34
|
[tool.poetry.extras]
|
|
@@ -41,6 +42,7 @@ telemetry = [
|
|
|
41
42
|
"opentelemetry-api",
|
|
42
43
|
"opentelemetry-sdk",
|
|
43
44
|
"opentelemetry-instrumentation-flask",
|
|
45
|
+
"opentelemetry-instrumentation-logging",
|
|
44
46
|
"opentelemetry-exporter-otlp-proto-grpc"
|
|
45
47
|
]
|
|
46
48
|
|
|
@@ -58,6 +60,7 @@ interrogate = "^1.7.0"
|
|
|
58
60
|
opentelemetry-api = "^1.27.0"
|
|
59
61
|
opentelemetry-sdk = "^1.27.0"
|
|
60
62
|
opentelemetry-instrumentation-flask = "^0.48b0"
|
|
63
|
+
opentelemetry-instrumentation-logging = "^0.48b0"
|
|
61
64
|
opentelemetry-exporter-otlp-proto-grpc = "^1.27.0"
|
|
62
65
|
|
|
63
66
|
[build-system]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|