A simple, configurable statsd client for Flask apps with optional Datadog support. It also provides optional support for Dogstatsd with the [Datadog] optional install.
Project description
# Flask-StatsClient
[![Build Status](https://travis-ci.org/bbelyeu/flask-statsdclient.svg?branch=master)](https://travis-ci.org/bbelyeu/flask-statsdclient) [![Coverage Status](https://coveralls.io/repos/github/bbelyeu/flask-statsdclient/badge.svg?branch=master)](https://coveralls.io/github/bbelyeu/flask-statsdclient?branch=master)
## Requirements
This project requires Python 3.5+ and Flask 0.12. Test builds in Travis CI test 3.5 & 3.6.
## Installation
To install it, simply run
pip install flask-statsdclient
If you’re using Datadog(https://www.datadoghq.com/) for your metric collection, you can enable the additional functionality of dogstatsd(http://datadogpy.readthedocs.io/en/latest/#datadog-dogstatsd-module) by installing it via
pip install flask-statsdclient[Datadog]
## Usage
Import it and wrap app
from flask import Flask from flask_statsdclient import StatsDClient
app = Flask(__name__) statsd = StatsDClient(app)
You may modify the host, port and prefix with STATSD_HOST, STATSD_PORT and STATSD_PREFIX options respectively in your Flask app config.
If you are using Datadog with a Unix socket, instead of specifying the host & port in config, add DD_SOCKET which is a fully qualified Unix path to the socket.
## Development
On a mac you can use the following commands to get up and running. ` bash brew install python3 ` otherwise run ` bash brew upgrade python3 ` to make sure you have an up to date version.
This project uses [pip-tools](https://pypi.org/project/pip-tools/) for dependency management. Install pip-tools
` bash pip3 install pip-tools `
setup the project env ` base python -m venv venv pip install -r requirements.txt -r requirements-dev.txt `
Make sure the following environment variables are set ` bash export PYTHONPATH=`pwd` `
Then load your virtualenv `bash source venv/bin/activate `
### Running tests
` bash ./linters.sh && coverage run --source=flask_statsdclient/ setup.py test `
### Before committing any code
We have a pre-commit hook each dev needs to setup. You can symlink it to run before each commit by changing directory to the repo and running
` bash cd .git/hooks ln -s ../../pre-commit pre-commit `
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
Built Distribution
File details
Details for the file Flask-StatsDClient-2.1.1.tar.gz
.
File metadata
- Download URL: Flask-StatsDClient-2.1.1.tar.gz
- Upload date:
- Size: 3.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.5.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 401436b1a56701975d21fe4aa1aaf2db3630da3ba78291bd81e6e9cbfcad2a48 |
|
MD5 | a42f8e66686dd77ded608219eb77f5df |
|
BLAKE2b-256 | 4197643bef253492b6dbe61add704684fa3386f40245af27b226d449868c9177 |
File details
Details for the file Flask_StatsDClient-2.1.1-py3-none-any.whl
.
File metadata
- Download URL: Flask_StatsDClient-2.1.1-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.14.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.35.0 CPython/3.5.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 00f992df089622a50110dc713d29089652e7055a2a17c884249d3943f52403da |
|
MD5 | 798fd8b44463256a8efbc76f28c213ba |
|
BLAKE2b-256 | 1c9153ba4139667e7142c3899f1eb8a0bb21e1e43ef1da2996b7b1dde800c004 |