You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by ha...@apache.org on 2018/10/30 04:24:54 UTC
[incubator-skywalking-ui] branch master updated: Fetch topology
metircs by detection point
This is an automated email from the ASF dual-hosted git repository.
hanahmily pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-skywalking-ui.git
The following commit(s) were added to refs/heads/master by this push:
new 85f1ae1 Fetch topology metircs by detection point
85f1ae1 is described below
commit 85f1ae1763d8549612e69a073f8be860d0626898
Author: gaohongtao <ha...@gmail.com>
AuthorDate: Tue Oct 30 12:22:53 2018 +0800
Fetch topology metircs by detection point
---
src/models/topology.js | 112 ++++++++++++++++++++++++++++---------------------
1 file changed, 65 insertions(+), 47 deletions(-)
diff --git a/src/models/topology.js b/src/models/topology.js
index c869157..0e8d8c7 100644
--- a/src/models/topology.js
+++ b/src/models/topology.js
@@ -20,7 +20,7 @@ import { base } from '../utils/models';
import { exec } from '../services/graphql';
const metricQuery = `
- query TopologyMetric($duration: Duration!, $ids: [ID!]!, $idsS: [ID!]!, $idsC: [ID!]!) {
+ query TopologyMetric($duration: Duration!, $ids: [ID!]!) {
sla: getValues(metric: {
name: "service_sla"
ids: $ids
@@ -48,44 +48,54 @@ const metricQuery = `
value
}
}
- cpmS: getValues(metric: {
- name: "service_relation_server_cpm"
- ids: $idsS
- }, duration: $duration) {
- values {
- id
- value
- }
+ }
+`;
+
+const serverMetricQuery = `
+query TopologyServerMetric($duration: Duration!, $idsS: [ID!]!) {
+ cpmS: getValues(metric: {
+ name: "service_relation_server_cpm"
+ ids: $idsS
+ }, duration: $duration) {
+ values {
+ id
+ value
}
- latencyS: getValues(metric: {
- name: "service_relation_client_resp_time"
- ids: $idsS
- }, duration: $duration) {
- values {
- id
- value
- }
+ }
+ latencyS: getValues(metric: {
+ name: "service_relation_client_resp_time"
+ ids: $idsS
+ }, duration: $duration) {
+ values {
+ id
+ value
}
- cpmC: getValues(metric: {
- name: "service_relation_client_cpm"
- ids: $idsC
- }, duration: $duration) {
- values {
- id
- value
- }
+ }
+}
+`
+
+const clientMetricQuery = `
+query TopologyClientMetric($duration: Duration!, $idsC: [ID!]!) {
+ cpmC: getValues(metric: {
+ name: "service_relation_client_cpm"
+ ids: $idsC
+ }, duration: $duration) {
+ values {
+ id
+ value
}
- latencyC: getValues(metric: {
- name: "service_relation_client_resp_time"
- ids: $idsC
- }, duration: $duration) {
- values {
- id
- value
- }
+ }
+ latencyC: getValues(metric: {
+ name: "service_relation_client_resp_time"
+ ids: $idsC
+ }, duration: $duration) {
+ values {
+ id
+ value
}
}
-`;
+}
+`
export default base({
namespace: 'topology',
@@ -136,23 +146,31 @@ export default base({
`,
effects: {
*fetchMetrics({ payload }, { call, put }) {
- const response = yield call(exec, { query: metricQuery, variables: payload.variables });
- if (!response.data) {
- return;
+ const { ids, idsS, idsC, duration } = payload.variables;
+ const { data = {} } = yield call(exec, { query: metricQuery, variables: { ids, duration } });
+ let metrics = { ...data };
+ if (idsS && idsS.length > 0) {
+ const { data: sData = {} } = yield call(exec, { query: serverMetricQuery, variables: { idsS, duration } });
+ metrics = { ...metrics, ...sData };
+ }
+ if (idsC && idsC.length > 0) {
+ const { data: cData = {} } = yield call(exec, { query: clientMetricQuery, variables: { idsC, duration } });
+ metrics = { ...metrics, ...cData };
+ }
+ const { cpmS = { values:[] }, cpmC = { values:[] }, latencyS = { values:[] }, latencyC = { values:[] } } = metrics;
+ metrics = {
+ ...metrics,
+ cpm: {
+ values: cpmS.values.concat(cpmC.values),
+ },
+ latency: {
+ values: latencyS.values.concat(latencyC.values),
+ },
}
- const { cpmS, cpmC, latencyS, latencyC } = response.data;
yield put({
type: 'saveData',
payload: {
- metrics: {
- ...response.data,
- cpm: {
- values: cpmS.values.concat(cpmC.values),
- },
- latency: {
- values: latencyS.values.concat(latencyC.values),
- },
- },
+ metrics,
},
});
},