I have deployed Jaeger on istio to monitor the bookinfo application. Then I want to analyze the trace data of Jaeger. However, I am confused by some span tags, such as, upstream_cluster and peer address. I found the meaning of peer.address from https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/zipkin.md , It says that peer.address means remote address. I think it means that when a client start a request and a server receive the request, the client's peer.address will be the server and the server's peer address will be the client.
Here is some information I get from one trace with 8 spans.
spanID operationName podIP serviceName pid refType peer.address span.kind
0 0044bea01e572833 productpage.default.svc.cluster.local:9080/pro... 10.244.27.204 istio-ingressgateway 192.168.0.49 client
1 a2bdd3593ab25d00 productpage.default.svc.cluster.local:9080/pro... 10.244.27.238 productpage.default 0044bea01e572833 CHILD_OF 10.244.27.204 server
2 626e09f9758da789 details.default.svc.cluster.local:9080/* 10.244.27.238 productpage.default a2bdd3593ab25d00 CHILD_OF 10.244.27.238 client
3 5a76f143f0e5c301 details.default.svc.cluster.local:9080/* 10.244.27.247 details.default 626e09f9758da789 CHILD_OF 10.244.27.238 server
4 9c1aaf91ea5e5ce9 reviews.default.svc.cluster.local:9080/* 10.244.27.238 productpage.default a2bdd3593ab25d00 CHILD_OF 10.244.27.238 client
5 923db83990a9e7e5 reviews.default.svc.cluster.local:9080/* 10.244.27.246 reviews.default 9c1aaf91ea5e5ce9 CHILD_OF 10.244.27.238 server
6 8e3dbd4dd0b70f85 ratings.default.svc.cluster.local:9080/* 10.244.27.246 reviews.default 923db83990a9e7e5 CHILD_OF 10.244.27.246 client
7 f227decb8d8b2c51 ratings.default.svc.cluster.local:9080/* 10.244.27.217 ratings.default 8e3dbd4dd0b70f85 CHILD_OF 10.244.27.246 server
However, the peer.address seems to be it's parent span's pod id, which is different from what I understand, and I don't know which is right.
Besides, I don't understand the meaning of upstream_cluster and downstream_cluster as below. Why all downstream_cluster is None, and what is the meaning of '9080' and 'inbound' in outstream_cluster?
spanID operationName podIP ... upstream_cluster downstream_cluster span.kind
0 0044bea01e572833 productpage.default.svc.cluster.local:9080/pro... 10.244.27.204 ... outbound|9080||productpage.default.svc.cluster... - client
1 a2bdd3593ab25d00 productpage.default.svc.cluster.local:9080/pro... 10.244.27.238 ... inbound|9080|| - server
2 626e09f9758da789 details.default.svc.cluster.local:9080/* 10.244.27.238 ... outbound|9080||details.default.svc.cluster.local - client
3 5a76f143f0e5c301 details.default.svc.cluster.local:9080/* 10.244.27.247 ... inbound|9080|| - server
4 9c1aaf91ea5e5ce9 reviews.default.svc.cluster.local:9080/* 10.244.27.238 ... outbound|9080||reviews.default.svc.cluster.local - client
5 923db83990a9e7e5 reviews.default.svc.cluster.local:9080/* 10.244.27.246 ... inbound|9080|| - server
6 8e3dbd4dd0b70f85 ratings.default.svc.cluster.local:9080/* 10.244.27.246 ... outbound|9080||ratings.default.svc.cluster.local - client
7 f227decb8d8b2c51 ratings.default.svc.cluster.local:9080/* 10.244.27.217 ... inbound|9080|| - server