Commit 2dd0c044 authored by Gianluca Filippone's avatar Gianluca Filippone
Browse files

Added services detail view

parent 738caed8
......@@ -21,7 +21,6 @@ import com.pingunaut.wicket.chartjs.core.panel.BarChartPanel;
import com.pingunaut.wicket.chartjs.core.panel.DoughnutChartPanel;
import com.pingunaut.wicket.chartjs.data.sets.BarDataSet;
import eu.chorevolution.idm.common.to.AVGOperationDataTO;
import eu.chorevolution.idm.common.to.CoordinationDelegateTO;
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
......@@ -57,9 +56,7 @@ public class AVGCDDetailPage extends BaseExtPage {
choreographyId = parameters.get("chor").toLong();
cdName = parameters.get("cd").toString();
CoordinationDelegateTO cd = restClient.getCD(choreographyId, cdName);
body.add(new Label("header", getString("header_title") + " " + cd.getName()));
body.add(new Label("header", getString("header_title") + " " + cdName));
List<AVGOperationDataTO> operations = restClient.averageOperationList(choreographyId, cdName);
bundle = new CDStatisticsBundle(operations);
......@@ -78,41 +75,41 @@ public class AVGCDDetailPage extends BaseExtPage {
Bar bar = new Bar();
bar.getData().getLabels().addAll(bundle.labels);
//Coordination Algorithm Reasoning Time (Red)
//Coordination Algorithm Reasoning Time (Light Red)
BarDataSet algorithmReasoningDataSet = new BarDataSet(bundle.coordinationAlgorithmReasoningTimes);
algorithmReasoningDataSet.setFillColor("rgba(227,20,20,0.6)");
algorithmReasoningDataSet.setStrokeColor("rgba(227,20,20,0.8)");
algorithmReasoningDataSet.setFillColor("rgb(244,67,54)");
algorithmReasoningDataSet.setStrokeColor("rgb(227,20,20)");
bar.getData().getDatasets().add(algorithmReasoningDataSet);
//Network Overhead For Coordination Messages (Red)
//Network Overhead For Coordination Messages (Dark Red)
BarDataSet networkCoordinationOverheadDataSet =
new BarDataSet(bundle.networkOverheadForCoordinationMessagesExchangeTimes);
networkCoordinationOverheadDataSet.setFillColor("rgba(227,20,20,0.6)");
networkCoordinationOverheadDataSet.setStrokeColor("rgba(227,20,20,0.8)");
networkCoordinationOverheadDataSet.setFillColor("rgb(198,40,40)");
networkCoordinationOverheadDataSet.setStrokeColor("rgb(227,20,20)");
bar.getData().getDatasets().add(networkCoordinationOverheadDataSet);
//Wait Times (Green)
BarDataSet waitScheduleTimeDataSet = new BarDataSet(bundle.waitTimesForSchedulingOperation);
waitScheduleTimeDataSet.setFillColor("rgba(20,227,20,0.6)");
waitScheduleTimeDataSet.setStrokeColor("rgba(20,227,20,0.8)");
waitScheduleTimeDataSet.setFillColor("rgb(76,175,80)");
waitScheduleTimeDataSet.setStrokeColor("rgb(20,227,20)");
bar.getData().getDatasets().add(waitScheduleTimeDataSet);
BarDataSet waitSyncrhoTimeDataSet = new BarDataSet(bundle.waitTimesForSynchronizing);
waitSyncrhoTimeDataSet.setFillColor("rgba(20,227,20,0.6)");
waitSyncrhoTimeDataSet.setStrokeColor("rgba(20,227,20,0.8)");
waitSyncrhoTimeDataSet.setFillColor("rgb(46,125,50)");
waitSyncrhoTimeDataSet.setStrokeColor("rgb(20,227,20)");
bar.getData().getDatasets().add(waitSyncrhoTimeDataSet);
//Service Execution Time (Blue)
BarDataSet serviceExecutionTimeDataSet = new BarDataSet(bundle.serviceExecutionTimes);
serviceExecutionTimeDataSet.setFillColor("rgba(20,20,227,0.6)");
serviceExecutionTimeDataSet.setStrokeColor("rgba(20,20,227,0.8)");
serviceExecutionTimeDataSet.setFillColor("rgb(63,81,181)");
serviceExecutionTimeDataSet.setStrokeColor("rgb(20,20,227)");
bar.getData().getDatasets().add(serviceExecutionTimeDataSet);
//Network Overhead For Business Messages (Blue)
BarDataSet networkBusinessOverheadDataSet =
new BarDataSet(bundle.networkOverheadForBusinessMessagesExchangeTimes);
networkBusinessOverheadDataSet.setFillColor("rgba(20,20,227,0.6)");
networkBusinessOverheadDataSet.setStrokeColor("rgba(20,20,227,0.8)");
networkBusinessOverheadDataSet.setFillColor("rgb(40,53,147)");
networkBusinessOverheadDataSet.setStrokeColor("rgb(20,20,227)");
bar.getData().getDatasets().add(networkBusinessOverheadDataSet);
add(new BarChartPanel("chart", Model.of(bar)));
......@@ -130,24 +127,24 @@ public class AVGCDDetailPage extends BaseExtPage {
doughnut.getOptions().setResponsive(true);
doughnut.getOptions().setMaintainAspectRatio(true);
doughnut.getOptions().setTooltipTemplate("<%= label %>");
long serviceExecutionTime = cd.getServiceExecutionTime();
long networkOverheadForBusinessMessagesExchangeTime
= cd.getNetworkOverheadForBusinessMessagesExchangeTime();
long coordinationAlgorithmReasoningTime = cd.getCoordinationAlgorithmReasoningTime();
long networkOverheadForCoordinationMessagesExchangeTime
= cd.getNetworkOverheadForCoordinationMessagesExchangeTime();
long waitTimeForSchedulingOperation = cd.getWaitTimeForSchedulingOperation();
long waitTimeForSynchronizing = cd.getWaitTimeForSynchronizing();
double serviceExecutionTime = bundle.totalServiceExecutionTime;
double networkOverheadForBusinessMessagesExchangeTime
= bundle.totalNetworkOverheadForBusinessMessagesExchangeTime;
double coordinationAlgorithmReasoningTime = bundle.totalCoordinationAlgorithmReasoningTime;
double networkOverheadForCoordinationMessagesExchangeTime
= bundle.totalNetworkOverheadForCoordinationMessagesExchangeTime;
double waitTimeForSchedulingOperation = bundle.totalWaitTimesForSchedulingOperation;
double waitTimeForSynchronizing = bundle.totalWaitTimesForSynchronizing;
// Service Execution and Network Business Overhead (Blue)
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) serviceExecutionTime, "rgb(20,20,227)",
(int) serviceExecutionTime, "rgb(63,81,181)",
"serviceExecutionTime" + ": " + serviceExecutionTime + " ms"
));
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) networkOverheadForBusinessMessagesExchangeTime, "rgb(20,20,227)",
(int) networkOverheadForBusinessMessagesExchangeTime, "rgb(40,53,147)",
"networkOverheadForBusinessMessagesExchangeTime" + ": "
+ networkOverheadForBusinessMessagesExchangeTime + " ms"
));
......@@ -155,13 +152,13 @@ public class AVGCDDetailPage extends BaseExtPage {
// Coordination Algorithm Reasoning Time and Network Coordination Overhead (Red)
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) coordinationAlgorithmReasoningTime, "rgb(227,20,20)",
(int) coordinationAlgorithmReasoningTime, "rgb(244,67,54)",
"coordinationAlgorithmReasoningTime" + ": "
+ coordinationAlgorithmReasoningTime + " ms"
));
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) networkOverheadForCoordinationMessagesExchangeTime, "rgb(227,20,20)",
(int) networkOverheadForCoordinationMessagesExchangeTime, "rgb(198,40,40)",
"networkOverheadForCoordinationMessagesExchangeTime" + ": "
+ networkOverheadForCoordinationMessagesExchangeTime + " ms"
));
......@@ -169,13 +166,13 @@ public class AVGCDDetailPage extends BaseExtPage {
// Wait times (Green)
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) waitTimeForSchedulingOperation, "rgb(20,227,20)",
(int) waitTimeForSchedulingOperation, "rgb(76,175,80)",
"waitTimeForSchedulingOperation" + ": "
+ waitTimeForSchedulingOperation + " ms"
));
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) waitTimeForSynchronizing, "rgb(20,227,20)",
(int) waitTimeForSynchronizing, "rgb(46,125,50)",
"waitTimeForSynchronizing" + ": "
+ waitTimeForSynchronizing + " ms"
));
......@@ -212,6 +209,13 @@ public class AVGCDDetailPage extends BaseExtPage {
private List<Integer> maxSentMessages;
private double totalCoordinationAlgorithmReasoningTime;
private double totalNetworkOverheadForCoordinationMessagesExchangeTime;
private double totalWaitTimesForSchedulingOperation;
private double totalWaitTimesForSynchronizing;
private double totalServiceExecutionTime;
private double totalNetworkOverheadForBusinessMessagesExchangeTime;
CDStatisticsBundle(final List<AVGOperationDataTO> operations) {
labels = new LinkedList<>();
......@@ -236,6 +240,25 @@ public class AVGCDDetailPage extends BaseExtPage {
operation.getNetworkOverheadForBusinessMessagesExchangeTime());
minSentMessages.add(operation.getMinMessageNumber());
maxSentMessages.add(operation.getMaxMessageNumber());
totalCoordinationAlgorithmReasoningTime =
totalCoordinationAlgorithmReasoningTime
+ operation.getCoordinationAlgorithmReasoningTime();
totalNetworkOverheadForCoordinationMessagesExchangeTime =
totalNetworkOverheadForCoordinationMessagesExchangeTime
+ operation.getNetworkOverheadForCoordinationMessagesExchangeTime();
totalWaitTimesForSchedulingOperation =
totalWaitTimesForSchedulingOperation
+ operation.getWaitTimeForSchedulingOperation();
totalWaitTimesForSynchronizing =
totalWaitTimesForSynchronizing
+ operation.getWaitTimeForSynchronizing();
totalServiceExecutionTime =
totalServiceExecutionTime
+ operation.getServiceExecutionTime();
totalNetworkOverheadForBusinessMessagesExchangeTime =
totalNetworkOverheadForBusinessMessagesExchangeTime
+ operation.getNetworkOverheadForBusinessMessagesExchangeTime();
}
}
}
......
......@@ -20,19 +20,25 @@ import com.pingunaut.wicket.chartjs.chart.impl.Doughnut;
import com.pingunaut.wicket.chartjs.core.panel.BarChartPanel;
import com.pingunaut.wicket.chartjs.core.panel.DoughnutChartPanel;
import com.pingunaut.wicket.chartjs.data.sets.BarDataSet;
import de.agilecoders.wicket.core.markup.html.bootstrap.tabs.AjaxBootstrapTabbedPanel;
import eu.chorevolution.idm.common.to.AVGCoordinationDelegateTO;
import eu.chorevolution.idm.common.to.ChoreographyTO;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import org.apache.syncope.client.console.panels.AVGCDPanel;
import org.apache.syncope.client.console.panels.AVGServicePanel;
import org.apache.syncope.client.console.rest.ChoreographyRestClient;
import org.apache.syncope.client.console.widget.StatsWidget;
import org.apache.syncope.client.console.widgets.LabeledDoughnutChartData;
import org.apache.wicket.extensions.markup.html.tabs.AbstractTab;
import org.apache.wicket.extensions.markup.html.tabs.ITab;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.repeater.RepeatingView;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.ResourceModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
public class AVGInstanceStatsPage extends BaseExtPage {
......@@ -56,7 +62,7 @@ public class AVGInstanceStatsPage extends BaseExtPage {
ChoreographyTO choreography = restClient.getChoreography(choreographyId);
body.add(new Label("header",
getString("header_title") + choreography.getName()));
getString("header_title") + " " + choreography.getName()));
List<AVGCoordinationDelegateTO> cds = restClient.averageCdList(choreographyId);
bundle = new AvgInstanceStatisticsBundle(cds);
......@@ -182,12 +188,63 @@ public class AVGInstanceStatsPage extends BaseExtPage {
});*/
content.add(chartList);
content.add(new AVGCDPanel("cds", getPageReference(), choreographyId));
content.add(new AjaxBootstrapTabbedPanel<>("detailsTab", buildTabList()));
// Re-enable when entilements for this service will be defined
//MetaDataRoleAuthorizationStrategy.authorize(content, ENABLE, CamelEntitlement.ROUTE_LIST);
body.add(content);
}
private List<ITab> buildTabList() {
final List<ITab> tabs = new ArrayList<>();
tabs.add(new AbstractTab(new ResourceModel("cds")) {
private static final long serialVersionUID = -5274130621395293531L;
@Override
public AVGCDPanel getPanel(final String panelId) {
return new AVGCDPanel(panelId, getPageReference(), choreographyId);
}
});
tabs.add(new AbstractTab(new ResourceModel("services")) {
private static final long serialVersionUID = -5274130621395293531L;
@Override
public AVGServicePanel getPanel(final String panelId) {
return new AVGServicePanel(panelId, getPageReference(), choreographyId);
}
});
/*tabs.add(new AbstractTab(new ResourceModel("adapters")) {
private static final long serialVersionUID = -5274130621395293531L;
@Override
public AVGCDPanel getPanel(final String panelId) {
return new AVGCDPanel(panelId, getPageReference(), choreographyId);
}
});
tabs.add(new AbstractTab(new ResourceModel("filters")) {
private static final long serialVersionUID = -5274130621395293531L;
@Override
public AVGCDPanel getPanel(final String panelId) {
return new AVGCDPanel(panelId, getPageReference(), choreographyId);
}
});
tabs.add(new AbstractTab(new ResourceModel("binding_components")) {
private static final long serialVersionUID = -5274130621395293531L;
@Override
public AVGCDPanel getPanel(final String panelId) {
return new AVGCDPanel(panelId, getPageReference(), choreographyId);
}
});*/
return tabs;
}
private class AvgInstanceStatisticsBundle implements Serializable {
private static final long serialVersionUID = 3642028474262240172L;
......
/*
* Copyright 2016 The CHOReVOLUTION project.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.syncope.client.console.pages;
import com.pingunaut.wicket.chartjs.chart.impl.Bar;
import com.pingunaut.wicket.chartjs.chart.impl.Doughnut;
import com.pingunaut.wicket.chartjs.core.panel.BarChartPanel;
import com.pingunaut.wicket.chartjs.core.panel.DoughnutChartPanel;
import com.pingunaut.wicket.chartjs.data.sets.BarDataSet;
import eu.chorevolution.idm.common.to.AVGOperationDataTO;
import java.io.Serializable;
import java.util.LinkedList;
import java.util.List;
import org.apache.syncope.client.console.panels.AVGOperationPanel;
import org.apache.syncope.client.console.rest.ChoreographyRestClient;
import org.apache.syncope.client.console.widget.StatsWidget;
import org.apache.syncope.client.console.widgets.LabeledDoughnutChartData;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.repeater.RepeatingView;
import org.apache.wicket.model.Model;
import org.apache.wicket.request.mapper.parameter.PageParameters;
public class AVGServiceDetailPage extends BaseExtPage {
private static final long serialVersionUID = 3932245590233237182L;
public static final String PREF_STATS_PAGINATOR_ROWS = "stats.paginator.rows";
private final ChoreographyRestClient restClient;
private final Long choreographyId;
private final String serviceName;
private final ServiceStatisticsBundle bundle;
public AVGServiceDetailPage(final PageParameters parameters) {
super(parameters);
restClient = new ChoreographyRestClient();
choreographyId = parameters.get("chor").toLong();
serviceName = parameters.get("service").toString();
body.add(new Label("header", getString("header_title") + " " + serviceName));
List<AVGOperationDataTO> operations = restClient.averageOperationList(choreographyId, serviceName);
bundle = new ServiceStatisticsBundle(operations);
WebMarkupContainer content = new WebMarkupContainer("content");
content.setOutputMarkupId(true);
RepeatingView chartList = new RepeatingView("stats");
// Sleeptime, Overhead and Execution time for each operation
chartList.add(new StatsWidget(chartList.newChildId()) {
@Override
public void create() {
Bar bar = new Bar();
bar.getData().getLabels().addAll(bundle.labels);
//Wait Time (Green)
BarDataSet waitScheduleTimeDataSet = new BarDataSet(bundle.serviceWaitTimesForResponse);
waitScheduleTimeDataSet.setFillColor("rgba(20,227,20,0.6)");
waitScheduleTimeDataSet.setStrokeColor("rgba(20,227,20,0.8)");
bar.getData().getDatasets().add(waitScheduleTimeDataSet);
//Service Execution Time (Blue)
BarDataSet serviceExecutionTimeDataSet = new BarDataSet(bundle.serviceExecutionTimes);
serviceExecutionTimeDataSet.setFillColor("rgba(20,20,227,0.6)");
serviceExecutionTimeDataSet.setStrokeColor("rgba(20,20,227,0.8)");
bar.getData().getDatasets().add(serviceExecutionTimeDataSet);
add(new BarChartPanel("chart", Model.of(bar)));
add(new Label("title", getString("overhead_sleep_execution_title")));
add(new Label("caption", getString("overhead_sleep_execution_caption")));
}
});
chartList.add(new StatsWidget(chartList.newChildId()) {
private static final long serialVersionUID = -8150750732895436230L;
@Override
public void create() {
Doughnut doughnut = new Doughnut();
doughnut.getOptions().setResponsive(true);
doughnut.getOptions().setMaintainAspectRatio(true);
doughnut.getOptions().setTooltipTemplate("<%= label %>");
double serviceExecutionTime = bundle.totalServiceExecutionTime;
double serviceWaitTimeForResponse = bundle.totalServiceWaitTimesForResponse;
// Service Execution and Network Business Overhead (Blue)
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) serviceExecutionTime, "rgb(20,20,227)",
"serviceExecutionTime" + ": " + serviceExecutionTime + " ms"
));
// Service Wait Time For Response (Green)
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) serviceWaitTimeForResponse, "rgb(20,227,20)",
"serviceWaitTimesForResponse" + ": "
+ serviceWaitTimeForResponse + " ms"
));
add(new DoughnutChartPanel("chart", Model.of(doughnut)));
add(new Label("title", getString("total_operation_overhead_title")));
add(new Label("caption", getString("total_operation_overhead_caption")));
}
});
content.add(chartList);
content.add(new AVGOperationPanel("operations", getPageReference(), choreographyId, serviceName));
body.add(content);
}
private class ServiceStatisticsBundle implements Serializable {
private static final long serialVersionUID = 3642028474262240172L;
private List<String> labels;
private List<Double> serviceExecutionTimes;
private List<Double> serviceWaitTimesForResponse;
private double totalServiceExecutionTime;
private double totalServiceWaitTimesForResponse;
ServiceStatisticsBundle(final List<AVGOperationDataTO> operations) {
labels = new LinkedList<>();
serviceExecutionTimes = new LinkedList<>();
serviceWaitTimesForResponse = new LinkedList<>();
for (AVGOperationDataTO operation : operations) {
labels.add(operation.getName());
serviceExecutionTimes.add(operation.getServiceExecutionTime());
serviceWaitTimesForResponse.add(operation.getServiceWaitTimeForResponse());
totalServiceExecutionTime =
totalServiceExecutionTime
+ operation.getServiceExecutionTime();
totalServiceWaitTimesForResponse =
totalServiceWaitTimesForResponse
+ operation.getServiceWaitTimeForResponse();
}
}
}
}
......@@ -80,39 +80,39 @@ public class CDDetailPage extends BaseExtPage {
//Coordination Algorithm Reasoning Time (Red)
BarDataSet algorithmReasoningDataSet = new BarDataSet(bundle.coordinationAlgorithmReasoningTimes);
algorithmReasoningDataSet.setFillColor("rgba(227,20,20,0.6)");
algorithmReasoningDataSet.setStrokeColor("rgba(227,20,20,0.8)");
algorithmReasoningDataSet.setFillColor("rgb(244,67,54)");
algorithmReasoningDataSet.setStrokeColor("rgb(227,20,20)");
bar.getData().getDatasets().add(algorithmReasoningDataSet);
//Network Overhead For Coordination Messages (Red)
BarDataSet networkCoordinationOverheadDataSet =
new BarDataSet(bundle.networkOverheadForCoordinationMessagesExchangeTimes);
networkCoordinationOverheadDataSet.setFillColor("rgba(227,20,20,0.6)");
networkCoordinationOverheadDataSet.setStrokeColor("rgba(227,20,20,0.8)");
networkCoordinationOverheadDataSet.setFillColor("rgb(198,40,40)");
networkCoordinationOverheadDataSet.setStrokeColor("rgb(227,20,20))");
bar.getData().getDatasets().add(networkCoordinationOverheadDataSet);
//Wait Times (Green)
BarDataSet waitScheduleTimeDataSet = new BarDataSet(bundle.waitTimesForSchedulingOperation);
waitScheduleTimeDataSet.setFillColor("rgba(20,227,20,0.6)");
waitScheduleTimeDataSet.setStrokeColor("rgba(20,227,20,0.8)");
waitScheduleTimeDataSet.setFillColor("rgb(76,175,80)");
waitScheduleTimeDataSet.setStrokeColor("rgb(20,227,20)");
bar.getData().getDatasets().add(waitScheduleTimeDataSet);
BarDataSet waitSyncrhoTimeDataSet = new BarDataSet(bundle.waitTimesForSynchronizing);
waitSyncrhoTimeDataSet.setFillColor("rgba(20,227,20,0.6)");
waitSyncrhoTimeDataSet.setStrokeColor("rgba(20,227,20,0.8)");
waitSyncrhoTimeDataSet.setFillColor("rgb(46,125,50)");
waitSyncrhoTimeDataSet.setStrokeColor("rgb(20,227,20)");
bar.getData().getDatasets().add(waitSyncrhoTimeDataSet);
//Service Execution Time (Blue)
BarDataSet serviceExecutionTimeDataSet = new BarDataSet(bundle.serviceExecutionTimes);
serviceExecutionTimeDataSet.setFillColor("rgba(20,20,227,0.6)");
serviceExecutionTimeDataSet.setStrokeColor("rgba(20,20,227,0.8)");
serviceExecutionTimeDataSet.setFillColor("rgb(63,81,181)");
serviceExecutionTimeDataSet.setStrokeColor("rgb(20,20,227)");
bar.getData().getDatasets().add(serviceExecutionTimeDataSet);
//Network Overhead For Business Messages (Blue)
BarDataSet networkBusinessOverheadDataSet =
new BarDataSet(bundle.networkOverheadForBusinessMessagesExchangeTimes);
networkBusinessOverheadDataSet.setFillColor("rgba(20,20,227,0.6)");
networkBusinessOverheadDataSet.setStrokeColor("rgba(20,20,227,0.8)");
networkBusinessOverheadDataSet.setFillColor("rgb(40,53,147)");
networkBusinessOverheadDataSet.setStrokeColor("rgb(20,20,227)");
bar.getData().getDatasets().add(networkBusinessOverheadDataSet);
add(new BarChartPanel("chart", Model.of(bar)));
......@@ -142,12 +142,12 @@ public class CDDetailPage extends BaseExtPage {
// Service Execution and Network Business Overhead (Blue)
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) serviceExecutionTime, "rgb(20,20,227)",
(int) serviceExecutionTime, "rgb(63,81,181)",
"serviceExecutionTime" + ": " + serviceExecutionTime + " ms"
));
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) networkOverheadForBusinessMessagesExchangeTime, "rgb(20,20,227)",
(int) networkOverheadForBusinessMessagesExchangeTime, "rgb(40,53,147)",
"networkOverheadForBusinessMessagesExchangeTime" + ": "
+ networkOverheadForBusinessMessagesExchangeTime + " ms"
));
......@@ -155,13 +155,13 @@ public class CDDetailPage extends BaseExtPage {
// Coordination Algorithm Reasoning Time and Network Coordination Overhead (Red)
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) coordinationAlgorithmReasoningTime, "rgb(227,20,20)",
(int) coordinationAlgorithmReasoningTime, "rgb(244,67,54)",
"coordinationAlgorithmReasoningTime" + ": "
+ coordinationAlgorithmReasoningTime + " ms"
));
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) networkOverheadForCoordinationMessagesExchangeTime, "rgb(227,20,20)",
(int) networkOverheadForCoordinationMessagesExchangeTime, "rgb(198,40,40)",
"networkOverheadForCoordinationMessagesExchangeTime" + ": "
+ networkOverheadForCoordinationMessagesExchangeTime + " ms"
));
......@@ -169,13 +169,13 @@ public class CDDetailPage extends BaseExtPage {
// Wait times (Green)
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) waitTimeForSchedulingOperation, "rgb(20,227,20)",
(int) waitTimeForSchedulingOperation, "rgb(76,175,80)",
"waitTimeForSchedulingOperation" + ": "
+ waitTimeForSchedulingOperation + " ms"
));
doughnut.getData().add(
new LabeledDoughnutChartData(
(int) waitTimeForSynchronizing, "rgb(20,227,20)",
(int) waitTimeForSynchronizing, "rgb(46,125,50)",
"waitTimeForSynchronizing" + ": "
+ waitTimeForSynchronizing + " ms"
));
......