In service monitoring, metrics and distributed tracing are relevant but different concepts, each having its own purpose. this article in spring blog gives a clear explanation and perfectly solved my confusions about the two. I made a summary on the distinction between them in a comparison table as is shown below.
|information granularity||system as a whole||subsystem latency|
|whether pre-aggregated||YES ※1||NO ※1|
|monitoring systems||Prometheus, …||Zipkin, …|
※1 For example, in a system that Service A calls Service B, Metrics data will contain the overall throughput, the latency statistics of (max, min, average) of Service A and B.
On the other side, A distributed tracing system will tell you that for a particular request, Service A took 50ms and Service B took 90ms.