Design issue: Provide an easy way to enable metrics scraping

Problem to solve

We are making our user's life hard when it comes to manual instrumentation. After the users instrument their application, and in order to start collecting metrics using Prometheus, our user would need to go to the Environment variables (Settings -> CI/CD) expand the Variable section and enter the value --set prometheus.metrics="true" for the HELM_UPGRADE_EXTRA_ARGS

image

Intended users

  • Sasha (Software Developer)
  • Devon (DevOps Engineer)
  • Sidney (Systems Administrator)

Further details

We would like to make the instrumentation process as easy and automated as possible, with Auto-devops we should enable an auto instrumentation, so Prometheus could pick up custom metrics automatically

Proposal

As a user I would like to enable an auto-instrumentation feature (ideally by a push of a button) that will allow Prometheus to pick up metrics from /metric endpoint

Let's explain this over an example: When a developer implements a new feature (e.g. a new button), and would like to measure how many time users pressed it, the user should first instrument a Prometheus counter this into the code which increments the counter for every push of the button, in order to scrape the metric using Prometheus, the user should activate an auto instrumentation which will automaticlly pick up the metric by Prometheus

Documentation

There isn't any documentation around it, we should both explain the best practice on instrumentation, and update the docs

What does success look like, and how can we measure that?

We should measure how many times users activate the auto-instrumentation feature

Links / references

Edited Dec 18, 2019 by Dov Hershkovitch
Assignee Loading
Time tracking Loading