DEV Community

Vincent
Vincent

Posted on

GraphMe: Visualize metrics from Prometheus and Datadog in Slack

I work in a big tech company, and being on-call is part of my duties. When in the middle of an incident, quite some time is spent in front of Grafana looking at graphs, analysing their trend and sharing them back in Slack.

During an incident, some time may also be spent in the UI of our time series database (not your standard Prometheus, but similar to it) crafting more or less esoteric queries, and again analysing trends and sharing them in Slack.

Problem statement

The process of 1/ querying 2/ waiting 3/ taking a screenshot 4/ sharing it in Slack is repetitive and results in wasted time. When we do it 10+ times per hour, this accounts rapidly to a non-negligible amount of time. It is also difficult to be accountable, e.g., to precisely link a screenshot to the query that generated it.

Moreover, manually crafting queries against our time series database is known to be error-prone. Available metrics and tags are scarcely documented, and idiosyncrasies of how our time series database work are easy to forget. We tend to rely on copy/pasting and adapting (hopefully correctly) queries found somewhere inside a Google Doc or a wiki page.

Introducing GraphMe

After watching several talks about how GitHub engineers use Hubot to solve most of their tooling issues, I was inspired to built my own "graph me" command. This led me to create GraphMe, a Slack app that queries various time series databases, and displays graphs in Slack.

Querying Prometheus from Slack

While GraphMe allows to execute random queries typed directly in Slack, it also allows to save some queries under an alias and reuse them later. This effectively creates a source of truth about metrics queries. No more time spent crafting the same query than last week! Saved queries can also be parameterized, which allows executing them in different contexts (e.g., a different environment or different host).

Saving a graph

GraphMe has just been launched this week and, I am happily seeking feedback from early adopters! Do you feel the same pain than I feel? Does it fit well into your toolkit? What missing feature would help you be even more productive?

https://graphme.app

Top comments (0)