This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

Powerful Statsd server, made easy.

Navdoon is a portable Statsd server with useful features to make it easy to use, extend and integrate.

Features

  • Portable with few dependencies, easy to install on most platforms
  • Support TCP, UDP
  • Receive metrics from multiple addresses
  • Flush to multiple Graphite backends
  • Easy to integrate with custom programs
  • Ability to reload the server without losing the metrics

Details

  • Navdoon uses collectors to receive Statsd metrics and recieves metrics over UDP (--collect-udp) and TCP (--collect-tcp), and accepts multiple collectors.
  • The server saves/sends (flushes) the accumulated metrics every often (--flus-interval) to a persistent storage. Carbon (from Graphite project) is a very common backend for Statsd servers. Navdoon accepts multiple Graphite addresses (--flush-graphite) so it can flush to multiple backends (all share the same interval). Metrics can be flushed to standard output (--flush-stdout) to pipe to another program, so it’s easy to integrate with any custom backend.
  • Logging can be helpful or can be wasteful, depending on the deployment and the usage of the application. Navdoon provides detailed configuration on logging, so you can chose what will be logged (--log-level) and how to log, send logs to syslog (--log-syslog), to a file (--log-file) or standard error (--log-stderr) to be piped to another program.
  • While not claiming to be the fastest, good performance is considered in the design. Navdoon uses threads for each collector and flush backend. Future versions will offer improved performance as it was not a priority for the first releases.
  • Server supports reloading (on receiving SIGHUP), keeping current state of the metrics and last flush time. So it’s possible to change collectors, flush destinations, logging, etc. on the configuration file while the server is running, and then on sending a SIGHUP the server picks the new configuration.

Releases

  • Latest released version is 0.2.0 (released on 2016-10-10)
  • Previous released version was 0.1.1 (released on 2016-06-15)

See the CHANGELOG for more information about features provided by each release.

Requirements

Navdoon is written in Python, so running from source or installing it as a package, requires a Python runtime (version 2.7+, latest versions of Python 3 is recommended).

The statsdmetrics Python module is the only dependency to run navdoon. However these Python modules are recommended on development/test environment:

  • distutilazy (>=0.4.2): helpful commands added to setup.py to run tests and clean temp files
  • typing (>=3.5.0): standard type annotations for Python
  • coveage: create test coverage reports

Running from source

Before running from source, a few dependencies should be installed. Using a virtual environment is suggested. (In this example we create a virtual environment in the project source path, but you may chose a custom path like ~/.venvs/navdoon-py3)

git clone https://github.com/farzadghanei/navdoon.git && cd navdoon
python3 -m venv .navdoon-venv-py3 && source ./.navdoon-venv-py3/bin/activate
pip install -r requirements.txt && python3 bin/navdoon_src

Note

Python 3.3+ standard library comes with venv module. For older versions you can use virtualenv.

Or you may skip installing and sourcing the virtual environment and install the (few) dependencies on your system.

Install

Navdoon can be installed from pypi using pip.

pip install navdoon

You can install from the source by running the setup.py script provided.

python setup.py install

Note

If you’re installing navdoon to a system path, you might need to run the installation with sudo or under a privileged user.

License

Navdoon is released under the terms of the Apache 2.0 license.

Release History

Release History

0.2.0

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.1.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
navdoon-0.2.0-py2.py3-none-any.whl (25.4 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Oct 10, 2016
navdoon-0.2.0.tar.gz (19.4 kB) Copy SHA256 Checksum SHA256 Source Oct 10, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting