Skip to main content

Falcon instrumentation for OpenTelemetry

Project description

pypi

This library builds on the OpenTelemetry WSGI middleware to track web requests in Falcon applications.

Installation

pip install opentelemetry-instrumentation-falcon

Configuration

Exclude lists

To exclude certain URLs from being tracked, set the environment variable OTEL_PYTHON_FALCON_EXCLUDED_URLS (or OTEL_PYTHON_EXCLUDED_URLS as fallback) with comma delimited regexes representing which URLs to exclude.

For example,

export OTEL_PYTHON_FALCON_EXCLUDED_URLS="client/.*/info,healthcheck"

will exclude requests such as https://site/client/123/info and https://site/xyz/healthcheck.

Request attributes

To extract certain attributes from Falcon’s request object and use them as span attributes, set the environment variable OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS to a comma delimited list of request attribute names.

For example,

export OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS='query_string,uri_template'

will extract path_info and content_type attributes from every traced request and add them as span attritbues.

Falcon Request object reference: https://falcon.readthedocs.io/en/stable/api/request_and_response.html#id1

Request/Response hooks

The instrumentation supports specifying request and response hooks. These are functions that get called back by the instrumentation right after a Span is created for a request and right before the span is finished while processing a response. The hooks can be configured as follows:

def request_hook(span, req):
    pass

def response_hook(span, req, resp):
    pass

FalconInstrumentation().instrument(request_hook=request_hook, response_hook=response_hook)

References

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

Built Distribution

File details

Details for the file opentelemetry_instrumentation_falcon-0.49b0.tar.gz.

File metadata

File hashes

Hashes for opentelemetry_instrumentation_falcon-0.49b0.tar.gz
Algorithm Hash digest
SHA256 3a5b650c42be4c793b32754e65a40f1335809b7a3bc671a70350c285780b1ea7
MD5 ed77d1c381363a219340610c63d5cea7
BLAKE2b-256 f90a69d78621b46c9ea13880825cd8e054b71ca89ab9ac2ad7b77dd7d0fc4a31

See more details on using hashes here.

File details

Details for the file opentelemetry_instrumentation_falcon-0.49b0-py3-none-any.whl.

File metadata

File hashes

Hashes for opentelemetry_instrumentation_falcon-0.49b0-py3-none-any.whl
Algorithm Hash digest
SHA256 922ac69734c68396cadc833606b3621c75cf2746a65f5454a6f096f17ec40aea
MD5 71c421620e89a0f38b87af4ce2c27575
BLAKE2b-256 b2d822eda5882770523964d90017a176aa04367e274f2b14d67ef11533b7e150

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