📂 FileMgr
📍
/
opt
/
venv
/
sockfence
/
lib
/
python3.9
/
site-packages
/
prometheus_client
/
django
✏️ t/django/exposition.py
⬅ Kembali
import os from django.http import HttpResponse from django.views import View import prometheus_client from prometheus_client import multiprocess from prometheus_client.exposition import _bake_output class PrometheusDjangoView(View): multiprocess_mode: bool = "PROMETHEUS_MULTIPROC_DIR" in os.environ or "prometheus_multiproc_dir" in os.environ registry: prometheus_client.CollectorRegistry = None def get(self, request, *args, **kwargs): if self.registry is None: if self.multiprocess_mode: self.registry = prometheus_client.CollectorRegistry() multiprocess.MultiProcessCollector(self.registry) else: self.registry = prometheus_client.REGISTRY accept_header = request.headers.get("Accept") accept_encoding_header = request.headers.get("Accept-Encoding") # Bake output status, headers, output = _bake_output( registry=self.registry, accept_header=accept_header, accept_encoding_header=accept_encoding_header, params=request.GET, disable_compression=False, ) status = int(status.split(" ")[0]) return HttpResponse( output, status=status, headers=headers, ) def options(self, request, *args, **kwargs): return HttpResponse( status=200, headers={"Allow": "OPTIONS,GET"}, )
💾 Simpan
Batal
⬅ prometheus_client
3 item
Nama
Tipe
Ukuran
Diubah
Aksi
📁
__pycache__
dir
—
2026-07-29 13:48
📂 Buka
✏️ Rename
🗑
🐍
__init__.py
py
88 B
2026-07-29 13:48
✏️
👁️
🔤
🗑
🐍
exposition.py
py
1.4 KB
2026-07-29 13:48
✏️
👁️
🔤
🗑
✏️ Rename
Nama Baru
Simpan
Batal