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.1-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for telex_python_apm-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1cc2c8894b648ff109e33b8278f92f1692710353d58e9a24f468fe251fbea3fd
MD5 e9f115f6041f8f5bd65fd4a1b13ea501
BLAKE2b-256 9ac9c57760b2d6817e318b3acc5591905edcd61fcb09b162d8d3e9c562938719

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