Skip to main content

A middleware for TaskIQ with Elastic APM integration

Project description

ci License: MIT pip Downloads

TaskIQ Elastic APM Middleware

TaskIQ Elastic APM Middleware is a Python library providing easy integration of Elastic APM monitoring into TaskIQ task processing. This middleware enables efficient tracking and analysis of task performance and errors, leveraging the capabilities of Elastic APM.

Features

  • Easy integration with TaskIQ workers.
  • Automatic performance and error tracking for tasks.
  • Customizable to fit various Elastic APM configurations.

Installation

You can install the TaskIQ Elastic APM Middleware directly from PyPI:

pip install taskiq-elastic-apm

Usage To use the middleware in your TaskIQ project, simply import and add it to your TaskIQ application:

python Copy code from taskiq import Taskiq from taskiq_elastic_apm_middleware import ElasticApmMiddleware

Create your Taskiq instance

broker = AioPikaBroker(
    url=settings.CELERY_BROKER_URL,
    queue_name=settings.CELERY_DEFAULT_QUEUE,
    exchange_name=settings.CELERY_DEFAULT_QUEUE,
).with_middlewares(
    ElasticApmMiddleware(
        client=apm,
    )
)

Define your tasks and start your application as usual

Configuration

You can configure the middleware by passing parameters to ElasticApmMiddleware.

The main parameters are:

client: elasticapm.Client - The Elastic APM client instance to use. If not provided, a new client will be created using the following parameters:

from elasticapm.contrib.starlette import make_apm_client

apm_settings = {
    "ENABLED": settings.APM_ENABLE,
    "ENVIRONMENT": settings.ENVIRONMENT,
    "SERVER_URL": settings.APM_SERVER_URL,
    "SERVICE_NAME": settings.SERVICE_NAME,
    "SECRET_TOKEN": settings.APM_SECRET_TOKEN,
    "CAPTURE_BODY": settings.APM_CAPTURE_BODY,
    "CAPTURE_HEADERS": settings.APM_CAPTURE_HEADERS,
    "COLLECT_LOCAL_VARIABLES": settings.APM_COLLECT_LOCAL_VARIABLES,
    "AUTO_LOG_STACKS": settings.APM_AUTO_LOG_STACKS,
}

apm = make_apm_client(apm_settings)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

taskiq_elastic_apm-0.0.4.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

taskiq_elastic_apm-0.0.4-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file taskiq_elastic_apm-0.0.4.tar.gz.

File metadata

  • Download URL: taskiq_elastic_apm-0.0.4.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for taskiq_elastic_apm-0.0.4.tar.gz
Algorithm Hash digest
SHA256 37d390c8247ff29e33be1759ceb7428e93095ca011d0fe1ce7956f6b8c6ca3d7
MD5 8838005f489db8f2ab2c81a71c22372b
BLAKE2b-256 e3e89f1055b9874d7cd01273571027b371c7f99abec6b43c5485311797ea6f38

See more details on using hashes here.

File details

Details for the file taskiq_elastic_apm-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for taskiq_elastic_apm-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 bacae8f2cbf1088a74f847d2a8271f839f7a059a4efbb688d0675632219a56e7
MD5 92d39f8f8226938cf33f3004319d3205
BLAKE2b-256 a088515eb8186a8e6f03151fa2edc05b1cab9b0fbfa1ec605c2af15757ab79c8

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