wu-sheng commented on issue #3829: Service instance dependency and metrics of 
them
URL: https://github.com/apache/skywalking/issues/3829#issuecomment-563026854
 
 
   @Fine0830 We have merged the backend PR. We will redeploy the latest codes 
to the demo env.
   
   The UI changes should be like this,
   
![image](https://user-images.githubusercontent.com/5441976/70399968-0b2ffc00-1a63-11ea-8b62-9eef0200ec78.png)
   
   After user clicks the new button, it should a box showing up, the [new topo 
query 
API](https://github.com/apache/skywalking-query-protocol/blob/master/topology.graphqls#L90)
 should be used for this. 
   
   You should be able to get client id and server id from the original topology 
map. 
   
   In the new box, in default, we should show all instances of client and 
server, like this
   
![image](https://user-images.githubusercontent.com/5441976/70400672-05d4b080-1a67-11ea-8e04-fd9870929e37.png)
   
   Then we could click the any client instance and get the dependency server 
instance relationship. The line could be clicked like service topology line, 
and get following metrics of them
   
![image](https://user-images.githubusercontent.com/5441976/70400691-200e8e80-1a67-11ea-9aa0-f24edbe79fd8.png)
   
   OAL of metrics, nearly as same as relationship metrics of service level. You 
should provide client/server side switch too.
   ```
   service_instance_relation_client_cpm = 
from(ServiceInstanceRelation.*).filter(detectPoint == DetectPoint.CLIENT).cpm();
   service_instance_relation_server_cpm = 
from(ServiceInstanceRelation.*).filter(detectPoint == DetectPoint.SERVER).cpm();
   service_instance_relation_client_call_sla = 
from(ServiceInstanceRelation.*).filter(detectPoint == 
DetectPoint.CLIENT).percent(status == true);
   service_instance_relation_server_call_sla = 
from(ServiceInstanceRelation.*).filter(detectPoint == 
DetectPoint.SERVER).percent(status == true);
   service_instance_relation_client_resp_time = 
from(ServiceInstanceRelation.latency).filter(detectPoint == 
DetectPoint.CLIENT).longAvg();
   service_instance_relation_server_resp_time = 
from(ServiceInstanceRelation.latency).filter(detectPoint == 
DetectPoint.SERVER).longAvg();
   service_instance_relation_client_p99 = 
from(ServiceInstanceRelation.latency).filter(detectPoint == 
DetectPoint.CLIENT).p99(10);
   service_instance_relation_server_p99 = 
from(ServiceInstanceRelation.latency).filter(detectPoint == 
DetectPoint.SERVER).p99(10);
   service_instance_relation_client_p95 = 
from(ServiceInstanceRelation.latency).filter(detectPoint == 
DetectPoint.CLIENT).p95(10);
   service_instance_relation_server_p95 = 
from(ServiceInstanceRelation.latency).filter(detectPoint == 
DetectPoint.SERVER).p95(10);
   service_instance_relation_client_p90 = 
from(ServiceInstanceRelation.latency).filter(detectPoint == 
DetectPoint.CLIENT).p90(10);
   service_instance_relation_server_p90 = 
from(ServiceInstanceRelation.latency).filter(detectPoint == 
DetectPoint.SERVER).p90(10);
   service_instance_relation_client_p75 = 
from(ServiceInstanceRelation.latency).filter(detectPoint == 
DetectPoint.CLIENT).p75(10);
   service_instance_relation_server_p75 = 
from(ServiceInstanceRelation.latency).filter(detectPoint == 
DetectPoint.SERVER).p75(10);
   service_instance_relation_client_p50 = 
from(ServiceInstanceRelation.latency).filter(detectPoint == 
DetectPoint.CLIENT).p50(10);
   service_instance_relation_server_p50 = 
from(ServiceInstanceRelation.latency).filter(detectPoint == 
DetectPoint.SERVER).p50(10);
   ```
   
   And also you could click server side instance.
   
![image](https://user-images.githubusercontent.com/5441976/70400772-83002580-1a67-11ea-8a05-fe8473f7c017.png)
   
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to