X7ROOT File Manager
Current Path:
/opt/cloudlinux/venv/lib/python3.11/site-packages/prometheus_client
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
prometheus_client
/
ðŸ“
..
📄
__init__.py
(1.77 KB)
ðŸ“
__pycache__
📄
asgi.py
(1.16 KB)
ðŸ“
bridge
📄
context_managers.py
(1.65 KB)
📄
core.py
(895 B)
📄
decorator.py
(15.43 KB)
📄
exposition.py
(14.92 KB)
📄
gc_collector.py
(1.42 KB)
📄
metrics.py
(21.66 KB)
📄
metrics_core.py
(11.6 KB)
📄
mmap_dict.py
(5.14 KB)
📄
multiprocess.py
(6.32 KB)
ðŸ“
openmetrics
📄
parser.py
(7.09 KB)
📄
platform_collector.py
(1.69 KB)
📄
process_collector.py
(3.57 KB)
📄
registry.py
(5.23 KB)
📄
samples.py
(1.33 KB)
ðŸ“
twisted
📄
utils.py
(621 B)
📄
values.py
(3.75 KB)
Editing: asgi.py
from urllib.parse import parse_qs from .exposition import _bake_output from .registry import REGISTRY def make_asgi_app(registry=REGISTRY): """Create a ASGI app which serves the metrics from a registry.""" async def prometheus_app(scope, receive, send): assert scope.get("type") == "http" # Prepare parameters params = parse_qs(scope.get('query_string', b'')) accept_header = "Accept: " + ",".join([ value.decode("utf8") for (name, value) in scope.get('headers') if name.decode("utf8") == 'accept' ]) # Bake output status, header, output = _bake_output(registry, accept_header, params) # Return output payload = await receive() if payload.get("type") == "http.request": await send( { "type": "http.response.start", "status": int(status.split(' ')[0]), "headers": [ tuple(x.encode('utf8') for x in header) ] } ) await send({"type": "http.response.body", "body": output}) return prometheus_app
Upload File
Create Folder