If we place a service mesh in the path of every network request between the services in an application, it makes it an ideal place to collect consistent, standardized telemetry about the application. This standardized observability alone may be enough to compensate for a small performance loss introduced by going through a proxy for every request because it dramatically enhances the operational properties of the system, making it easier to monitor and troubleshoot:
The sidecar can emit uniformly named metrics about the traffic going in and out of a service instance, such as throughput, latency, and error rates (also known as the RED method (Rate, Error, Duration). These metrics can be used to monitor the health of the services and for creating standardized dashboards.
The sidecar can produce rich access logs. Sometimes these logs need to be produced and stored securely for compliance reasons. Having a single logical component responsible for all those logs...