未验证 提交 7e740a26 编写于 作者: 彭勇升 pengys 提交者: GitHub

Merge pull request #850 from peng-yongsheng/feature/getServerResponseTimeTrend

"getServerResponseTimeTrend","getServerTPSTrend","getCPUTrend","getGCTrend","getMemoryTrend"
......@@ -65,32 +65,32 @@ public class ServerQuery implements Query {
}
public ResponseTimeTrend getServerResponseTimeTrend(int serverId, Duration duration) throws ParseException {
long start = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getStart());
long end = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getEnd());
return getServerService().getServerResponseTimeTrend(serverId, duration.getStep(), start, end);
long startTimeBucket = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getStart());
long endTimeBucket = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getEnd());
return getServerService().getServerResponseTimeTrend(serverId, duration.getStep(), startTimeBucket, endTimeBucket);
}
public ThroughputTrend getServerTPSTrend(int serverId, Duration duration) throws ParseException {
long start = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getStart());
long end = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getEnd());
return getServerService().getServerTPSTrend(serverId, duration.getStep(), start, end);
long startTimeBucket = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getStart());
long endTimeBucket = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getEnd());
return getServerService().getServerTPSTrend(serverId, duration.getStep(), startTimeBucket, endTimeBucket);
}
public CPUTrend getCPUTrend(int serverId, Duration duration) throws ParseException {
long start = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getStart());
long end = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getEnd());
return getServerService().getCPUTrend(serverId, duration.getStep(), start, end);
long startTimeBucket = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getStart());
long endTimeBucket = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getEnd());
return getServerService().getCPUTrend(serverId, duration.getStep(), startTimeBucket, endTimeBucket);
}
public GCTrend getGCTrend(int serverId, Duration duration) throws ParseException {
long start = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getStart());
long end = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getEnd());
return getServerService().getGCTrend(serverId, duration.getStep(), start, end);
long startTimeBucket = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getStart());
long endTimeBucket = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getEnd());
return getServerService().getGCTrend(serverId, duration.getStep(), startTimeBucket, endTimeBucket);
}
public MemoryTrend getMemoryTrend(int serverId, Duration duration) throws ParseException {
long start = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getStart());
long end = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getEnd());
return getServerService().getMemoryTrend(serverId, duration.getStep(), start, end);
long startTimeBucket = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getStart());
long endTimeBucket = DurationUtils.INSTANCE.exchangeToTimeBucket(duration.getEnd());
return getServerService().getMemoryTrend(serverId, duration.getStep(), startTimeBucket, endTimeBucket);
}
}
......@@ -92,10 +92,10 @@ public class ServerService {
return serverInfos;
}
public ResponseTimeTrend getServerResponseTimeTrend(int instanceId, Step step, long start,
long end) throws ParseException {
public ResponseTimeTrend getServerResponseTimeTrend(int instanceId, Step step, long startTimeBucket,
long endTimeBucket) throws ParseException {
ResponseTimeTrend responseTimeTrend = new ResponseTimeTrend();
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(step, start, end);
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(step, startTimeBucket, endTimeBucket);
List<Integer> trends = instanceMetricUIDAO.getResponseTimeTrend(instanceId, step, durationPoints);
responseTimeTrend.setTrendList(trends);
return responseTimeTrend;
......@@ -117,25 +117,28 @@ public class ServerService {
return serverThroughput;
}
public ThroughputTrend getServerTPSTrend(int instanceId, Step step, long start, long end) throws ParseException {
public ThroughputTrend getServerTPSTrend(int instanceId, Step step, long startTimeBucket,
long endTimeBucket) throws ParseException {
ThroughputTrend throughputTrend = new ThroughputTrend();
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(step, start, end);
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(step, startTimeBucket, endTimeBucket);
List<Integer> trends = instanceMetricUIDAO.getServerTPSTrend(instanceId, step, durationPoints);
throughputTrend.setTrendList(trends);
return throughputTrend;
}
public CPUTrend getCPUTrend(int instanceId, Step step, long start, long end) throws ParseException {
public CPUTrend getCPUTrend(int instanceId, Step step, long startTimeBucket,
long endTimeBucket) throws ParseException {
CPUTrend cpuTrend = new CPUTrend();
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(step, start, end);
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(step, startTimeBucket, endTimeBucket);
List<Integer> trends = cpuMetricUIDAO.getCPUTrend(instanceId, step, durationPoints);
cpuTrend.setCost(trends);
return cpuTrend;
}
public GCTrend getGCTrend(int instanceId, Step step, long start, long end) throws ParseException {
public GCTrend getGCTrend(int instanceId, Step step, long startTimeBucket,
long endTimeBucket) throws ParseException {
GCTrend gcTrend = new GCTrend();
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(step, start, end);
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(step, startTimeBucket, endTimeBucket);
List<Integer> youngGCTrend = gcMetricUIDAO.getYoungGCTrend(instanceId, step, durationPoints);
gcTrend.setYoungGC(youngGCTrend);
List<Integer> oldGCTrend = gcMetricUIDAO.getOldGCTrend(instanceId, step, durationPoints);
......@@ -143,9 +146,9 @@ public class ServerService {
return gcTrend;
}
public MemoryTrend getMemoryTrend(int instanceId, Step step, long start, long end) throws ParseException {
public MemoryTrend getMemoryTrend(int instanceId, Step step, long startTimeBucket, long endTimeBucket) throws ParseException {
MemoryTrend memoryTrend = new MemoryTrend();
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(step, start, end);
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(step, startTimeBucket, endTimeBucket);
IMemoryMetricUIDAO.Trend heapMemoryTrend = memoryMetricUIDAO.getHeapMemoryTrend(instanceId, step, durationPoints);
memoryTrend.setHeap(heapMemoryTrend.getMetrics());
memoryTrend.setMaxHeap(heapMemoryTrend.getMaxMetrics());
......
......@@ -139,11 +139,11 @@ public enum DurationUtils {
return dateTime;
}
public List<DurationPoint> getDurationPoints(Step step, long start, long end) throws ParseException {
DateTime dateTime = parseToDateTime(step, start);
public List<DurationPoint> getDurationPoints(Step step, long startTimeBucket, long endTimeBucket) throws ParseException {
DateTime dateTime = parseToDateTime(step, startTimeBucket);
List<DurationPoint> durations = new LinkedList<>();
durations.add(new DurationPoint(start, secondsBetween(step, dateTime)));
durations.add(new DurationPoint(startTimeBucket, secondsBetween(step, dateTime)));
int i = 0;
do {
......@@ -176,10 +176,10 @@ public enum DurationUtils {
}
i++;
if (i > 500) {
throw new UnexpectedException("Duration data error, step: " + step.name() + ", start: " + start + ", end: " + end);
throw new UnexpectedException("Duration data error, step: " + step.name() + ", start: " + startTimeBucket + ", end: " + endTimeBucket);
}
}
while (end != durations.get(durations.size() - 1).getPoint());
while (endTimeBucket != durations.get(durations.size() - 1).getPoint());
return durations;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册