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

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.tar.gz (74.6 kB view details)

Uploaded Source

Built Distribution

graphite_api-1.1-py2.py3-none-any.whl (79.9 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: graphite-api-1.1.tar.gz
  • Upload date:
  • Size: 74.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for graphite-api-1.1.tar.gz
Algorithm Hash digest
SHA256 b0aa12f71f187771b3a7890cb72c62e44c46467c9115c23aafec06da9147d4ef
MD5 b389def2c6dfd80fd76deeeb19f6ae5b
BLAKE2b-256 a3aed0a93966f1d12e96160a5e91aac2e8b1c153815db65e2f0cdeba0e211c02

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for graphite_api-1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9f84ba89e2ac10e55b8e4ce8541e30582b4d14324a5302a67a982890bb96ebbb
MD5 89699c03ae0998519ae7ddae4585dc88
BLAKE2b-256 cd1c69a3ed49c1acb1ad1c335fe9badc540b1ddacfeea90f121d4d2dce242704

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