You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by GitBox <gi...@apache.org> on 2019/12/09 01:38:56 UTC

[GitHub] [skywalking] wu-sheng commented on issue #3829: Service instance dependency and metrics of them

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:
users@infra.apache.org


With regards,
Apache Git Services