ILoveCode
ILoveCode

Reputation: 315

Is it possible to measure response time of an API in EKS with Istio

I have an application running in EKS with istio service mesh, exposed using istio ingress and alb. Is there a tool to measure the amount of time (response time) taken by API request on each service? For instance, what time it reached ingress, then gateway and virtual service down to the pod?

Upvotes: 0

Views: 477

Answers (1)

Nataraj Medayhal
Nataraj Medayhal

Reputation: 1221

Istio access logs can be enabled to see different details. Below is default logging format.

[%START_TIME%] \"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%\" %RESPONSE_CODE% %RESPONSE_FLAGS% %RESPONSE_CODE_DETAILS% %CONNECTION_TERMINATION_DETAILS%
\"%UPSTREAM_TRANSPORT_FAILURE_REASON%\" %BYTES_RECEIVED% %BYTES_SENT% %DURATION% %RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)% \"%REQ(X-FORWARDED-FOR)%\" \"%REQ(USER-AGENT)%\" \"%REQ(X-REQUEST-ID)%\"
\"%REQ(:AUTHORITY)%\" \"%UPSTREAM_HOST%\" %UPSTREAM_CLUSTER% %UPSTREAM_LOCAL_ADDRESS% %DOWNSTREAM_LOCAL_ADDRESS% %DOWNSTREAM_REMOTE_ADDRESS% %REQUESTED_SERVER_NAME% %ROUTE_NAME%\n

For istio observability to visualize service mesh please refer their documentation.

Upvotes: 2

Related Questions