I was looking at metrics exported by istio. I am especially interested in the Request Duration (istio_request_duration_milliseconds)
metric.
I want to know what is the value of Request Duration (istio_request_duration_milliseconds)
reported by client istio proxy (reporter="source") and server istio proxy (reporter = "destination").
Also, what should I set the reporter value to (source or destination) when I want to know the latency of http requests?
For example, this is one the queries I can see in grafana dashboard provided by istio.
label_join((histogram_quantile(0.99, sum(rate(istio_request_duration_milliseconds_bucket{reporter="source"}[1m])) by (le, destination_workload, destination_workload_namespace)) / 1000) or histogram_quantile(0.99, sum(rate(istio_request_duration_seconds_bucket{reporter="source"}[1m])) by (le, destination_workload, destination_workload_namespace)), "destination_workload_var", ".", "destination_workload", "destination_workload_namespace")
But this query doesn't work for me. When I change the reporter
to destination
in the above query, it works.
So, I'm really confused as to which one is correct. If I have to calculate latency, which one should I consider? reporter=source
or reporter=destination
? or both will have the same value for latency?