Skip to main content

Graphite-web, without the interface. Just the rendering HTTP API.

Project description

Build Status Coverage Status

Graphite-web, without the interface. Just the rendering HTTP API.

This is a minimalistic API server that replicates the behavior of Graphite-web. I removed everything I could and simplified as much code as possible while keeping the basic functionality.

Implemented API calls:

  • /metrics/find

  • /metrics/expand

  • /render

No-ops:

  • /dashboard/find

  • /dashboard/load/<name>

  • /events/get_data

Additional API calls:

  • /index (POST or PUT only): rebuilds the search index by recursively querying the storage backends for available paths. Replaces graphite-web’s build-index command-line script.

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.

  • Ceres integration will be as an external backend.

  • 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 very old Python versions (Python 2.6 is still supported but maybe not for long).

  • 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.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphite-api-1.1.1.tar.gz (74.8 kB view details)

Uploaded Source

Built Distribution

graphite_api-1.1.1-py2.py3-none-any.whl (80.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file graphite-api-1.1.1.tar.gz.

File metadata

File hashes

Hashes for graphite-api-1.1.1.tar.gz
Algorithm Hash digest
SHA256 a22ff0ac49017a6adb03e7f766de4d80fc9d14d922f120208838f7cec70bc281
MD5 ba7fed75dd1d03c868b31ba4cc641b0c
BLAKE2b-256 a2d71724da6a20e9902bc8cc62713ae78617cbb778628bd13683a8d3904f21cf

See more details on using hashes here.

File details

Details for the file graphite_api-1.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for graphite_api-1.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2339c9ca8e526152bfe4820d77b1c655a0f1961339fad084375b9229183dede8
MD5 c4b9d12874841c55e11a246929318e87
BLAKE2b-256 12140480ba0dff5364902f2212191eba623cbc7a251996d55b36b5e930efb0df

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