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
MonitorMiddlewareclass from thetelex_python_apm.fastapi.middlewarepackage. - Add the Middleware to FastAPI
Use
app.add_middleware()to add theMonitorMiddlewareand pass thewebhook_urlparameter. - 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file telex_python_apm-0.1.5-py3-none-any.whl.
File metadata
- Download URL: telex_python_apm-0.1.5-py3-none-any.whl
- Upload date:
- Size: 4.5 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 |
fd55623b49623ad61c185d9470896fe29c3ccd239b46aadfd69629baf1ea7cd2
|
|
| MD5 |
55a1b68ff9647d55f5b346d4831d7dee
|
|
| BLAKE2b-256 |
224b6d0e678b37833000d1f2afc07612b7dc21101393ee37d7e0e6d44298d5fb
|