Companion code for "Deploying Spring Boot 4 on Kubernetes: Probes, Graceful Shutdown, Limits and JVM Ergonomics". A dependency outage under three probe-group setups, a rolling restart under load four ways (three runs each), the JVM's ergonomic choices for nine pod shapes, one GC-heavy load under five CPU limits with throttling counters, and an HPA driven by a Micrometer gauge through prometheus-adapter. Measured on k3s v1.36.4. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01C3TETMrqVUWeFkNtz3Jbo3
28 lines
923 B
Plaintext
28 lines
923 B
Plaintext
# What Micrometer exports (one pod):
|
|
$ curl <pod>:8080/actuator/prometheus | grep app_inflight
|
|
# HELP app_inflight_requests Requests currently being processed by /work
|
|
# TYPE app_inflight_requests gauge
|
|
app_inflight_requests{application="orders"} 0.0
|
|
|
|
# What the HPA controller sees through the custom metrics API:
|
|
$ kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1/namespaces/demo/pods/%2A/app_inflight_requests
|
|
{
|
|
"kind": "MetricValueList",
|
|
"apiVersion": "custom.metrics.k8s.io/v1beta1",
|
|
"metadata": {},
|
|
"items": [
|
|
{
|
|
"describedObject": {
|
|
"kind": "Pod",
|
|
"namespace": "demo",
|
|
"name": "orders-7774f94779-gvc7k",
|
|
"apiVersion": "/v1"
|
|
},
|
|
"metricName": "app_inflight_requests",
|
|
"timestamp": "2026-09-11T16:33:28Z",
|
|
"value": "0",
|
|
"selector": null
|
|
}
|
|
]
|
|
}
|