Skip to main content

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

Flask-StatsDClient-2.1.1.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

Flask_StatsDClient-2.1.1-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

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

Hashes for Flask-StatsDClient-2.1.1.tar.gz
Algorithm Hash digest
SHA256 401436b1a56701975d21fe4aa1aaf2db3630da3ba78291bd81e6e9cbfcad2a48
MD5 a42f8e66686dd77ded608219eb77f5df
BLAKE2b-256 4197643bef253492b6dbe61add704684fa3386f40245af27b226d449868c9177

See more details on using hashes here.

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

Hashes for Flask_StatsDClient-2.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 00f992df089622a50110dc713d29089652e7055a2a17c884249d3943f52403da
MD5 798fd8b44463256a8efbc76f28c213ba
BLAKE2b-256 1c9153ba4139667e7142c3899f1eb8a0bb21e1e43ef1da2996b7b1dde800c004

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