Introducing Descartes

2012-07-10 17:51:45 by jdixon

Graphite is renowned for its usefulness and ease for prototyping new charts. It's also known for having a dashboard component that leaves much to be desired. In response the community has seen a rising tide of new dashboard projects aimed at filling this gap. The growing list of third-party Graphite dashboard projects is extensive, but continues to fall short in areas such as self-service, configuration, and collaboration.

Most of this software require users to generate dashboards from JSON or other command-line gymnastics. While this is reasonable for many operations folk, it's an impedance for the engineers and business-oriented users; the same users that we want using this software for making sound decisions. Graph views are static and inflexible for collaboration and historical dialogues. In response to these shortcomings I've started the Descartes project.

Descartes is not yet beta software. It's not even alpha. Decartes is at the pupal stage of evolution, limited in scope and functionality. It does very little in relation to what I have planned for it. What does it do, you ask?

  • Import saved graphs from Graphite
  • Select pre-defined time ranges
  • Select pre-defined grid layouts
  • Filter on tags (currently limited to graph names)
  • Create dashboards from views / filtered views

Better yet, watch this brief screencast I made that demonstrates the features above in illustrious high-def You-Tubery. I strongly suggest watching it in fullscreen to get a better look at the layout controls.

I have lofty expectations for what Descartes can become. Planned enhancements are documented here. Note, however, that this list is not exhaustive. I will continue to add new issues as I tunnel through Decartes' workflow and identify rough spots and potential nice-to-haves.

If you would like to try Decartes out for yourself, by all means please do so. However, I ask kindly that you refrain from opening issues for new enhancements or questionable bugs. Once the project has matured to a point where I feel it can be recommended for the average Graphite installation I will announce it publicly and prepare myself for the onslaught of requests. For now I ask for your patience and understanding.

Note: Descartes currently relies on Google OpenID for authentication and identity (e.g. graph owners). Fortunately it works fine with Google Apps; I use this with my own personal Apps domain. There is an open issue tracking support for HTTP Basic Auth.

Lastly, I would like to thank Heroku for their initial sponsorship of this project. Descartes was the focus of my final days there, and they've graciously allowed me to open source the project. The application was developed on the Heroku platform and will continue to be supported for it; there simply isn't an easier, more developer-friendly way to host web applications. If you want to run your own Descartes app I highly encourage you to give Heroku a try.


at 2013-10-04 16:47:41, Brent D. wrote in to say...

Hi jDixon,

I'm interested in trying out your descartes graphite frontend, however I don't know a lick of ruby or gems or anything of sorts. Would it be possible to point me to some sources which would help me in getting this to run on my current apache.

I know this is asking a lot with nothing in return. If it's to much you can simply ignore this request/comment.

Trying to go off of your installation notes and not getting really anywhere.

So far I have made sure I have ruby installed, mod_fcgid installed, and that's really about it.

Tried compiling from source, but the apache installation was installed via suse's repos so no luck there. =/


Brent D.

at 2013-10-19 03:15:03, Jason Dixon wrote in to say...

@Brent - Sorry for missing your comment before now. Google mail spam filtering can be... zealous. ;)

The best place to ask would be in the #descartes or #graphite channels in freenode IRC.

at 2013-12-04 12:10:22, Matt wrote in to say...


What is the suggested OS for running decsartes for easiest setup? We have working graphite/collectl configuration for monitoring lustre storage. I am having very big issues trying to get your descartes to build using the It would be great to add some instructions on how to get the ruby stuff going in order to get the descartes working. For instance:

ruby -v

ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]

[[email protected] site_ruby]# cd /tmp/descartes-master

RVM used your Gemfile for selecting Ruby, it is all fine - Heroku does that too,

you can ignore these warnings with 'rvm rvmrc warning ignore /tmp/descartes-master/Gemfile'.

To ignore the warning for all files run 'rvm rvmrc warning ignore allGemfiles'.

ruby-1.9.3-p484 is not installed.

To install do: 'rvm install ruby-1.9.3-p484'

Add a comment:




max length 4000 chars