Mercurial > code > home > repos > mqtt_metrics
annotate mqtt_metrics.py @ 0:0b5b4ede1bf5
start with a mockup of the debugging display
author | drewp@bigasterisk.com |
---|---|
date | Fri, 09 Aug 2024 15:09:22 -0700 |
parents | |
children | 3d7f2dc9beec |
rev | line source |
---|---|
0
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
1 import logging |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
2 |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
3 from starlette.applications import Starlette |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
4 from starlette.requests import Request |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
5 from starlette.responses import JSONResponse |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
6 from starlette.routing import Route |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
7 from starlette_exporter import PrometheusMiddleware, handle_metrics |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
8 |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
9 logging.basicConfig(level=logging.INFO) |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
10 log = logging.getLogger() |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
11 |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
12 |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
13 def hello(request: Request) -> JSONResponse: |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
14 return JSONResponse({"demo": "hello"}) |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
15 |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
16 |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
17 def main(): |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
18 app = Starlette(debug=True, routes=[ |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
19 Route('/api/hello', hello), |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
20 ]) |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
21 |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
22 app.add_middleware(PrometheusMiddleware, app_name='mqtt_metrics') |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
23 app.add_route("/metrics", handle_metrics) |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
24 |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
25 return app |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
26 |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
27 |
0b5b4ede1bf5
start with a mockup of the debugging display
drewp@bigasterisk.com
parents:
diff
changeset
|
28 app = main() |