Skip to main content

What Needs the Dev Team

Alloy and Prometheus can see the containers and the database from outside. Some of the most useful signals live inside the app. Only the developers can expose them.

Table of Contents


Why​

Page 09 left a gap. The Latency row of the everyday dashboard is a text box, because the api publishes no request timing. During a load test, k6 fills that gap, but only while k6 runs. A tester also wants these numbers on a normal day, and wants to see what happens inside the app during a soak test.

The api already has Spring Actuator. It is in pizza-playground/api/pom.xml as spring-boot-starter-actuator. So the change is small. The app needs one more library, and Prometheus needs one more scrape target.


How: what to ask for​

WhatWhy a tester wants itWhat to ask developers for
JVM heap, garbage collection, threadsIn a soak test, heap that only grows and never drops points to a memory leak. Container memory alone cannot tell you that.Add micrometer-registry-prometheus and expose /actuator/prometheus
HTTP latency and error rate per endpointIt fills the Latency row from page 09, so you see slow endpoints every day, not only during k6 runs.The same Micrometer change. It publishes http_server_requests_seconds
TracesA trace shows which call inside one slow request took the time: the database, the mock gateway, or the code itself.OpenTelemetry in the app, and Tempo to store the traces

The first two rows are one change. After it, you add the api as a scrape target in prometheus.yml, the same way Alloy was added in Set Up Prometheus, and build panels from the new metrics.

Traces are a bigger step. They need a new component in the stack. They are listed in Future / To Explore.


How: how to ask​

Send the developers four lines:

  1. Which test. For example: a 30 minute soak test of the order flow.
  2. Which question it answers. For example: does heap keep growing while the load is steady?
  3. What you need exposed. For example: /actuator/prometheus with JVM and HTTP metrics.
  4. Which environment. For example: the test environment, not production.

Tips​

  • Ask early, in test planning. A request made after the first slow run arrives when you already need the answer. Put it in the test plan, next to the baseline.
  • Ask for a question, not a tool. "I need to know if heap keeps growing" lets the developers choose the way. "Add Micrometer" is only one way.
  • Check the endpoint is not public. /actuator/prometheus shows internals. Ask that it is reachable by Prometheus only, not by users.
  • Confirm in Explore before you build panels. Search for http_server_requests_seconds_count after the change. If it is missing, the target is not scraped yet.