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.
Files changed (47) hide show
  1. {platzky-1.0.0 → platzky-1.0.1}/PKG-INFO +2 -1
  2. {platzky-1.0.0 → platzky-1.0.1}/platzky/config.py +2 -0
  3. {platzky-1.0.0 → platzky-1.0.1}/platzky/telemetry.py +9 -0
  4. {platzky-1.0.0 → platzky-1.0.1}/pyproject.toml +4 -1
  5. {platzky-1.0.0 → platzky-1.0.1}/LICENSE +0 -0
  6. {platzky-1.0.0 → platzky-1.0.1}/README.md +0 -0
  7. {platzky-1.0.0 → platzky-1.0.1}/platzky/__init__.py +0 -0
  8. {platzky-1.0.0 → platzky-1.0.1}/platzky/admin/admin.py +0 -0
  9. {platzky-1.0.0 → platzky-1.0.1}/platzky/admin/fake_login.py +0 -0
  10. {platzky-1.0.0 → platzky-1.0.1}/platzky/admin/templates/admin.html +0 -0
  11. {platzky-1.0.0 → platzky-1.0.1}/platzky/admin/templates/login.html +0 -0
  12. {platzky-1.0.0 → platzky-1.0.1}/platzky/admin/templates/module.html +0 -0
  13. {platzky-1.0.0 → platzky-1.0.1}/platzky/blog/__init__.py +0 -0
  14. {platzky-1.0.0 → platzky-1.0.1}/platzky/blog/blog.py +0 -0
  15. {platzky-1.0.0 → platzky-1.0.1}/platzky/blog/comment_form.py +0 -0
  16. {platzky-1.0.0 → platzky-1.0.1}/platzky/db/README.md +0 -0
  17. {platzky-1.0.0 → platzky-1.0.1}/platzky/db/__init__.py +0 -0
  18. {platzky-1.0.0 → platzky-1.0.1}/platzky/db/db.py +0 -0
  19. {platzky-1.0.0 → platzky-1.0.1}/platzky/db/db_loader.py +0 -0
  20. {platzky-1.0.0 → platzky-1.0.1}/platzky/db/github_json_db.py +0 -0
  21. {platzky-1.0.0 → platzky-1.0.1}/platzky/db/google_json_db.py +0 -0
  22. {platzky-1.0.0 → platzky-1.0.1}/platzky/db/graph_ql_db.py +0 -0
  23. {platzky-1.0.0 → platzky-1.0.1}/platzky/db/json_db.py +0 -0
  24. {platzky-1.0.0 → platzky-1.0.1}/platzky/db/json_file_db.py +0 -0
  25. {platzky-1.0.0 → platzky-1.0.1}/platzky/db/mongodb_db.py +0 -0
  26. {platzky-1.0.0 → platzky-1.0.1}/platzky/engine.py +0 -0
  27. {platzky-1.0.0 → platzky-1.0.1}/platzky/locale/en/LC_MESSAGES/messages.po +0 -0
  28. {platzky-1.0.0 → platzky-1.0.1}/platzky/locale/pl/LC_MESSAGES/messages.po +0 -0
  29. {platzky-1.0.0 → platzky-1.0.1}/platzky/models.py +0 -0
  30. {platzky-1.0.0 → platzky-1.0.1}/platzky/platzky.py +0 -0
  31. {platzky-1.0.0 → platzky-1.0.1}/platzky/plugin/plugin.py +0 -0
  32. {platzky-1.0.0 → platzky-1.0.1}/platzky/plugin/plugin_loader.py +0 -0
  33. {platzky-1.0.0 → platzky-1.0.1}/platzky/seo/seo.py +0 -0
  34. {platzky-1.0.0 → platzky-1.0.1}/platzky/static/blog.css +0 -0
  35. {platzky-1.0.0 → platzky-1.0.1}/platzky/static/styles.css +0 -0
  36. {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/404.html +0 -0
  37. {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/base.html +0 -0
  38. {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/blog.html +0 -0
  39. {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/body_meta.html +0 -0
  40. {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/dynamic_css.html +0 -0
  41. {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/feed.xml +0 -0
  42. {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/head_meta.html +0 -0
  43. {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/page.html +0 -0
  44. {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/post.html +0 -0
  45. {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/robots.txt +0 -0
  46. {platzky-1.0.0 → platzky-1.0.1}/platzky/templates/sitemap.xml +0 -0
  47. {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.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.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