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
  • /metrics/search (removed strange keep_query_pattern parameter)
  • /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 caching. Rendering is live.
  • No Pickle.
  • 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

Download files

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

Files for graphite-api, version 1.1
Filename, size File type Python version Upload date Hashes
Filename, size graphite_api-1.1-py2.py3-none-any.whl (79.9 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size graphite-api-1.1.tar.gz (74.6 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page