* Fixed the no data avg throughput in service bug. * Fixed no parent dependency for service dependency graph #906
This commit is contained in:
parent
4479c4f092
commit
fc2e518e4e
|
|
@ -97,14 +97,17 @@ public class ServiceMetricEsUIDAO extends EsDAO implements IServiceMetricUIDAO {
|
|||
|
||||
List<Integer> trends = new LinkedList<>();
|
||||
MultiGetResponse multiGetResponse = prepareMultiGet.get();
|
||||
|
||||
int index = 0;
|
||||
for (MultiGetItemResponse response : multiGetResponse.getResponses()) {
|
||||
if (response.getResponse().isExists()) {
|
||||
long calls = ((Number)response.getResponse().getSource().get(ServiceMetricTable.COLUMN_TRANSACTION_CALLS)).longValue();
|
||||
long errorCalls = ((Number)response.getResponse().getSource().get(ServiceMetricTable.COLUMN_TRANSACTION_ERROR_CALLS)).longValue();
|
||||
trends.add((int)(calls - errorCalls));
|
||||
long secondBetween = durationPoints.get(index).getSecondsBetween();
|
||||
trends.add((int)(calls / secondBetween));
|
||||
} else {
|
||||
trends.add(0);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
return trends;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,10 +74,7 @@ public class ServiceQuery implements Query {
|
|||
long startTimeBucket = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getStart());
|
||||
long endTimeBucket = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getEnd());
|
||||
|
||||
long startSecondTimeBucket = DurationUtils.INSTANCE.startTimeDurationToSecondTimeBucket(duration.getStep(), duration.getStart());
|
||||
long endSecondTimeBucket = DurationUtils.INSTANCE.endTimeDurationToSecondTimeBucket(duration.getStep(), duration.getEnd());
|
||||
|
||||
return getServiceNameService().getServiceTPSTrend(serviceId, duration.getStep(), startTimeBucket, endTimeBucket, startSecondTimeBucket, endSecondTimeBucket);
|
||||
return getServiceNameService().getServiceTPSTrend(serviceId, duration.getStep(), startTimeBucket, endTimeBucket);
|
||||
}
|
||||
|
||||
public SLATrend getServiceSLATrend(int serviceId, Duration duration) throws ParseException {
|
||||
|
|
|
|||
|
|
@ -67,15 +67,11 @@ public class ServiceNameService {
|
|||
}
|
||||
|
||||
public ThroughputTrend getServiceTPSTrend(int serviceId, Step step, long startTimeBucket,
|
||||
long endTimeBucket, long startSecondTimeBucket, long endSecondTimeBucket) throws ParseException {
|
||||
long endTimeBucket) throws ParseException {
|
||||
ThroughputTrend throughputTrend = new ThroughputTrend();
|
||||
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(step, startTimeBucket, endTimeBucket);
|
||||
List<Integer> callsTrends = serviceMetricUIDAO.getServiceTPSTrend(serviceId, step, durationPoints);
|
||||
|
||||
ServiceName serviceName = serviceNameCacheService.get(serviceId);
|
||||
int secondBetween = secondBetweenService.calculate(serviceName.getApplicationId(), startSecondTimeBucket, endSecondTimeBucket);
|
||||
callsTrends.forEach(calls -> throughputTrend.getTrendList().add(calls / secondBetween));
|
||||
|
||||
List<Integer> throughputTrends = serviceMetricUIDAO.getServiceTPSTrend(serviceId, step, durationPoints);
|
||||
throughputTrend.setTrendList(throughputTrends);
|
||||
return throughputTrend;
|
||||
}
|
||||
|
||||
|
|
@ -87,7 +83,8 @@ public class ServiceNameService {
|
|||
return responseTimeTrend;
|
||||
}
|
||||
|
||||
public SLATrend getServiceSLATrend(int serviceId, Step step, long startTimeBucket, long endTimeBucket) throws ParseException {
|
||||
public SLATrend getServiceSLATrend(int serviceId, Step step, long startTimeBucket,
|
||||
long endTimeBucket) throws ParseException {
|
||||
SLATrend slaTrend = new SLATrend();
|
||||
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(step, startTimeBucket, endTimeBucket);
|
||||
slaTrend.setTrendList(serviceMetricUIDAO.getServiceSLATrend(serviceId, step, durationPoints));
|
||||
|
|
|
|||
|
|
@ -73,8 +73,8 @@ public class ServiceTopologyService {
|
|||
Map<Integer, String> components = new HashMap<>();
|
||||
applicationComponents.forEach(component -> components.put(component.getApplicationId(), ComponentsDefine.getInstance().getComponentName(component.getComponentId())));
|
||||
|
||||
List<IServiceReferenceMetricUIDAO.ServiceReferenceMetric> referenceMetrics = serviceReferenceMetricUIDAO.getFrontServices(step, startTimeBucket, endTimeBucket, MetricSource.Caller, serviceId);
|
||||
referenceMetrics.addAll(serviceReferenceMetricUIDAO.getBehindServices(step, startTimeBucket, endTimeBucket, MetricSource.Callee, serviceId));
|
||||
List<IServiceReferenceMetricUIDAO.ServiceReferenceMetric> referenceMetrics = serviceReferenceMetricUIDAO.getFrontServices(step, startTimeBucket, endTimeBucket, MetricSource.Callee, serviceId);
|
||||
referenceMetrics.addAll(serviceReferenceMetricUIDAO.getBehindServices(step, startTimeBucket, endTimeBucket, MetricSource.Caller, serviceId));
|
||||
|
||||
Set<Integer> nodeIds = new HashSet<>();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue