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
| What | Why a tester wants it | What to ask developers for |
|---|---|---|
| JVM heap, garbage collection, threads | In 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 endpoint | It 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 |
| Traces | A 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:
- Which test. For example: a 30 minute soak test of the order flow.
- Which question it answers. For example: does heap keep growing while the load is steady?
- What you need exposed. For example:
/actuator/prometheuswith JVM and HTTP metrics. - 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/prometheusshows 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_countafter the change. If it is missing, the target is not scraped yet.