Operations 8 min read

Ten Micro‑Metrics to Strengthen Performance Testing Reports

This article explains why traditional macro performance metrics are insufficient, introduces ten essential micro‑metrics covering memory, thread, and network aspects, and shows how to capture them using GC logs, thread dumps, and tools like netstat or open‑source APM solutions.

360 Quality & Efficiency
360 Quality & Efficiency
360 Quality & Efficiency
Ten Micro‑Metrics to Strengthen Performance Testing Reports

Performance testing is a routine task in many enterprises, but relying solely on macro metrics such as CPU usage, memory usage, response time, and bandwidth often fails to reveal the root causes of performance degradation.

The article argues that macro metrics cannot pinpoint problems because they lack visibility into specific issues like garbage collection pauses, inefficient object allocation, or thread contention. Therefore, macro metrics should be complemented with micro‑metrics.

Memory‑related micro‑metrics

1. Garbage collection pause time – measuring GC pause duration helps reduce application stalls.

2. Object creation/reclamation rate – high allocation rates increase CPU usage and trigger frequent GC.

3. GC throughput – the proportion of time spent in application threads versus GC threads; higher throughput means less time in GC.

4. Memory consumption per lifecycle – monitoring each memory region’s allocation and peak usage prevents under‑ or over‑provisioning.

These metrics can be extracted from garbage‑collection logs.

Thread‑related micro‑metrics

5. Thread states – counts of threads in new, runnable, blocked, waiting, etc., reveal bottlenecks and CPU pressure.

6. Thread groups – size of each thread group may indicate scaling issues.

7. Daemon vs non‑daemon threads – non‑daemon threads keep the JVM alive; tracking them helps understand shutdown behavior.

8. Code execution paths – dominant execution paths should be examined for hotspots.

Thread metrics are obtainable from thread dumps.

Network‑related micro‑metrics

9. Outbound connections – count of ESTABLISHED connections per endpoint; changes affect performance.

10. Inbound connections – measure connections from each channel/protocol (Web, Mobile, API, HTTP, HTTPS, JMS, Kafka, etc.) to assess load impact.

Network metrics can be gathered with APM tools or the netstat command, e.g., netstat -an | grep 'hostname' | grep 'ESTABLISHED' .

The article also recommends three open‑source APM tools for collecting these micro‑metrics:

• SkyWalking – distributed tracing and monitoring for Java micro‑services.

• Zipkin – Twitter’s open‑source distributed tracing system.

• Pinpoint – Java‑based APM that injects trace IDs via a JavaAgent.

monitoringAPMoperationsPerformance TestingnetworkmemoryThreadsmicro metrics
360 Quality & Efficiency
Written by

360 Quality & Efficiency

360 Quality & Efficiency focuses on seamlessly integrating quality and efficiency in R&D, sharing 360’s internal best practices with industry peers to foster collaboration among Chinese enterprises and drive greater efficiency value.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.