Telex APM middleware for FastAPI.
Project description
Telex Python APM Middleware
The Telex Python APM Middleware is a FastAPI middleware that monitors incoming HTTP requests. It sends request data (if the response status code is 400 or higher) to a specified Telex webhook for monitoring and analytics.
Installation
You can easily install the Telex Python APM Middleware via pip
:
pip install telex-python-apm
Setup and Usage
- Import the Middleware
In your FastAPI app, import the
MonitorMiddleware
class from thetelex_python_apm.fastapi.middleware
package. - Add the Middleware to FastAPI
Use
app.add_middleware()
to add theMonitorMiddleware
and pass thewebhook_url
parameter. - Set the Webhook URL Set your Telex channel webhook URL where the request data will be sent.
Example FastAPI Application
from fastapi import FastAPI
from telex_python_apm.fastapi.middleware import MonitorMiddleware
app = FastAPI()
# Set your Telex channel webhook URL
WEBHOOK_URL = "https://ping.telex.im/v1/webhooks/25..."
# Add the APM middleware to the FastAPI app
app.add_middleware(MonitorMiddleware, webhook_url=WEBHOOK_URL)
@app.get("/test")
async def test_route():
return {"message": "This is a test route"}
@app.get("/client_error", status_code=400)
async def error_route():
return {"error": "This is an error"}, 400
@app.get("/server_error", status_code=500)
async def error_route():
return {"error": "This is an error"}, 500
Explanation
MonitorMiddleware
: Monitors incoming requests and sends request details to the specified Telex webhook if the response status code is 400 or higher.webhook_url
: A URL pointing to your Telex channel webhook, which receives the request data for monitoring purposes.
Run Your Application
Once the middleware is set up, you can start your FastAPI application using uvicorn
:
uvicorn main:app --reload
Replace main
with the name of your Python file if necessary. The app will start on http://127.0.0.1:8000
.
License
This package is licensed under the MIT License.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file telex_python_apm-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: telex_python_apm-0.1.3-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e677e33b1727663c9fa4d61c732224485cf6a1633b6afb506d6c6a8119e62d1 |
|
MD5 | 8763a7852b958d0b9f815f21720e7cdc |
|
BLAKE2b-256 | ef6d2ada5edb62749d59888cf122b46f7045a3c9e7ed1db52c3435cb3b7728ee |