Skip to main content

A simple middleware to gather request-response statistics from the falcon REST framework

Project description

# Falcon Stats
`falcon-stats` is a simple usage statistics middleware for the [Falcon REST framework](https://falconframework.org/). It should primarily enable later analysis that separately gets relevant data from the DB.

## Data Collection
*Falcon Stats* gathers data on incoming requests and their processed responses. Currently the following features are saved:

- Response Timestamp
- Processing Time between Request and Response
- Request Method
- User Agent
- Request URI (domain, endpoint and query string)
- Remote IP (closest to the server)
- Request Content-Type
- Response Status
- Request Content Length

Note that logging and database access add overhead to the processing time. Furthermore it will add a few milliseconds on every response.

## Installation
... is as easy as

```
pip install falcon-stats
```

Installation assumes you have the packages found in *requirements.txt* installed. Please note the development build of SQLAlchemy that is pulled from the official git repository.

## Usage
In your main falcon file import the `FalconStatsMiddleware` and add it to the middleware list of your API instance. That's it.

```python
from falconstats import FalconStatsMiddleware
...
fsm = FalconStatsMiddleware(
db_user="root",
db_pass="my-secret-pw",
db_addr="localhost:3306",
db_name="stats"
)
app = falcon.API(middleware=[fsm])
```

This will connect to the given MySQL database and start to add request-response data. For now only MySQL is supported - *PRs welcome*!

## Compatibility
The middleware is used with Python 3.5 and 3.6. I don't plan on supporting Python 2.7 but it still might work.

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

falcon_stats-0.5-py3-none-any.whl (7.5 kB view details)

Uploaded Python 3

File details

Details for the file falcon_stats-0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for falcon_stats-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c75f9a2ab18715503075dc9dce2114f4dff148a4288d37ed22b18175b9703377
MD5 21e9de344035cec95f9b17fffc086546
BLAKE2b-256 849f4287ed56d908d7bf209fd46fe9904bf9c85aa3aad91681d05bbcf875d96a

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