plone.observability
Kubernetes-style health probes, a pluggable Prometheus and JSON metrics endpoint, and optional OpenTelemetry tracing for Plone running in containers.
Plone's built-in @@ok view answers OK whether the database is reachable or not, right up until the process is too busy to answer at all.
plone.observability gives an orchestrator the real signals it needs: separate liveness, readiness, and startup probes on a dedicated port that stays answerable under load, plus a metrics endpoint your monitoring stack can scrape.
Features
- Liveness, readiness, and startup probes on a separate HTTP port
- A pluggable
@@metricsendpoint with Prometheus and JSON output - Request, ZODB, and content metrics with low-cardinality labels
- Optional OpenTelemetry tracing that honors the standard
OTEL_*environment variables - Extensible via the Zope Component Architecture: custom health checks, metric providers, and formatters
Installation
Add plone.observability to your dependencies, include its ZCML, and wire the WSGI filters.
See the installation guide for the full steps.
[project]
dependencies = [
"plone.observability",
]
<include package="plone.observability" />
Documentation
Full documentation is at https://plone.github.io/plone.observability/:
- How-to guides — install, configure Kubernetes probes, scrape with Prometheus, enable tracing, extend via ZCA
- Reference — configuration, health endpoints, metrics, tracing, interfaces
- Explanation — why three probes, why a separate port, label cardinality, tracing design
For LLM context, see llms.txt.
License
GPL-2.0-only. See LICENSE.
Release files for plone.observability 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| plone_observability-1.1.0.tar.gz | 517.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| plone_observability-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 560.6 kB
Release files / plone_observability-1.1.0.tar.gz
| Download URL | plone_observability-1.1.0.tar.gz |
|---|---|
| Size | 517.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
446dc6ebefbe6672e01ea250aaa132848036c4814a422d3b908dfc692f61bf79
|
|
BLAKE2b-256 checksum How to use checksums |
4d50a63b8f262ea27bc115faaad6ccccec1e9bb287cdab91f9a7066d9bda4251
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.
Transparency logRelease files / plone_observability-1.1.0-py3-none-any.whl
| Download URL | plone_observability-1.1.0-py3-none-any.whl |
|---|---|
| Size | 42.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fda06ca9fb9405de475c634ee48469955cd5f3e1e940e0094f6f231d2afb60fa
|
|
BLAKE2b-256 checksum How to use checksums |
0fe50d52ee88a14b60d5a16801abd05d29cb6434e73f616aad7b1320bafcc60a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.
Transparency log