Graphite-web, without the interface. Just the rendering HTTP API.
Project description
Graphite-web, without the interface. Just the rendering HTTP API.
Fork of graphite-api specifically for use with an InfluxDB backend.
This is a minimalistic API server that replicates the behavior of Graphite-web.
Implemented API calls:
/metrics/find
/metrics/expand
/render
No-ops:
/dashboard/find
/dashboard/load/<name>
/events/get_data
Changes from graphite-api
Hardcoded average consolidation of all data points removed - consolidation handled by storage back-end.
Cairo optional dependency - Json/raw formats by default.
Hardcoded legacy whisper index file requirement removed. (/srv/index)
maxdatapoints render query parameter removed - handled by storage back-end.
Whisper hardcoded default configuration removed.
Various fixes from pending graphite-api pull requests and back-ported fixes from graphite-web, asPercent among others.
Performance improvements.
Difference from graphite-web
Stateless. No need for a database.
No Pickle rendering.
No remote rendering.
JSON data in request bodies is supported, additionally to form data and querystring parameters.
Compatibility with python 2 and 3.
Easy to install and configure.
Goals
Solid codebase. Strict flake8 compatibility, good test coverage.
Ease of installation/use/configuration.
Compatibility with the original Graphite-web API and 3rd-party dashboards.
Non-goals
Support for Python versions older than 2.7.
Built-in support for every metric storage system in the world. Whisper is included by default, other storages are added via 3rd-party backends.
Documentation
On readthedocs.org or in the docs/ directory.
CairoCFFI dependency
Cairo is used to render graphs server side when target format is an image. By default, only Json and raw format outputs are enabled. Attempts to render image formats without Cairo will result in an error message that it is not installed.
It can be pulled in via extras - pip install influxgraph-graphite-api[cairo].
Hacking
Tox is used to run the tests for all supported environments. To get started from a fresh clone of the repository:
pip install tox
tox
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
Hashes for influxgraph-graphite-api-1.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7473313a13ac6f2fbfc0e8e42ecccbfed26ac4483b72caacb41d38035bf7693c |
|
MD5 | 6665b71813e7cfab142fb3452e9f118b |
|
BLAKE2b-256 | ea87db38ac3474567d542b20c71a00c57b6a9a4f4e9daf47dd9ecf1265b2a272 |
Hashes for influxgraph_graphite_api-1.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75b54fcd1a39856c8782d81c8127ec8ef4d342a0422ed7981263b0a5e0be312d |
|
MD5 | 788e199202e271da4eb7591ebe407b6a |
|
BLAKE2b-256 | 5c053f6e04673eea54434cc3c280adb8dee0a185a7a379732db837ce604005c3 |