Skip to main content

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

  1. Import the Middleware In your FastAPI app, import the MonitorMiddleware class from the telex_python_apm.fastapi.middleware package.
  2. Add the Middleware to FastAPI Use app.add_middleware() to add the MonitorMiddleware and pass the webhook_url parameter.
  3. 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

telex_python_apm-0.1.3-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file telex_python_apm-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for telex_python_apm-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 8e677e33b1727663c9fa4d61c732224485cf6a1633b6afb506d6c6a8119e62d1
MD5 8763a7852b958d0b9f815f21720e7cdc
BLAKE2b-256 ef6d2ada5edb62749d59888cf122b46f7045a3c9e7ed1db52c3435cb3b7728ee

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page