Istio_tcp_sent_bytes_total and istio_tcp_received_bytes_total difference

Hi All,

wanted to understand difference between istio_tcp_sent_bytes_total and istio_tcp_received_bytes_total.

We have istio-proxy running as a sidecar in our k8s pod.

pod [app + istio-proxy] ------> arango DB

receivedBytesQuery=
istio_tcp_received_bytes_total{reporter="source", destination_service=~"arango-cluster.arango.svc.cluster.local"}
sentBytesQuery=
istio_tcp_sent_bytes_total{reporter="source",
destination_service=~\arango-cluster.arango.svc.cluster.local"}

Does istio_tcp_received_bytes_total is from arangoDb to application or vice-versa ?

My application posts lot of data as payload in request and in response it receives true/false from DB.

But metrics are shown as quite opposite.
istio_tcp_received_bytes_total is more compared to istio_tcp_sent_bytes_total in grafana dashboards.

I ran tcpdump/iftop in my container to check tx and rx and as per my expectation tx is more compared to rx.
Wanted to understand how to perceive these metrics.