404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@18.218.63.176: ~ $
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

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
bridge Folder 0755
openmetrics Folder 0755
twisted Folder 0755
__init__.py File 1.77 KB 0644
asgi.py File 1.16 KB 0644
context_managers.py File 1.65 KB 0644
core.py File 895 B 0644
decorator.py File 15.43 KB 0644
exposition.py File 14.92 KB 0644
gc_collector.py File 1.42 KB 0644
metrics.py File 21.66 KB 0644
metrics_core.py File 11.6 KB 0644
mmap_dict.py File 5.14 KB 0644
multiprocess.py File 6.32 KB 0644
parser.py File 7.09 KB 0644
platform_collector.py File 1.69 KB 0644
process_collector.py File 3.57 KB 0644
registry.py File 5.23 KB 0644
samples.py File 1.33 KB 0644
utils.py File 621 B 0644
values.py File 3.75 KB 0644