/** * Helper method for reading and deserializing {@link TimelineMetric} objects * using the specified column prefix. The timeline metrics then are added to * the given timeline entity. * * @param entity {@link TimelineEntity} object. * @param result {@link Result} object retrieved from backend. * @param columnPrefix Metric column prefix * @throws IOException if any exception is encountered while reading metrics. */ protected void readMetrics(TimelineEntity entity, Result result, ColumnPrefix<?> columnPrefix) throws IOException { NavigableMap<String, NavigableMap<Long, Number>> metricsResult = ColumnRWHelper.readResultsWithTimestamps( result, columnPrefix, stringKeyConverter); for (Map.Entry<String, NavigableMap<Long, Number>> metricResult: metricsResult.entrySet()) { TimelineMetric metric = new TimelineMetric(); metric.setId(metricResult.getKey()); // Simply assume that if the value set contains more than 1 elements, the // metric is a TIME_SERIES metric, otherwise, it's a SINGLE_VALUE metric TimelineMetric.Type metricType = metricResult.getValue().size() > 1 ? TimelineMetric.Type.TIME_SERIES : TimelineMetric.Type.SINGLE_VALUE; metric.setType(metricType); metric.addValues(metricResult.getValue()); entity.addMetric(metric); } }
private static TimelineMetric getSingleValueMetric(String id, TimelineMetricOperation op, long timestamp, long value) { TimelineMetric m = new TimelineMetric(); m.setId(id); m.setType(Type.SINGLE_VALUE); m.setRealtimeAggregationOp(op); Map<Long, Number> metricValues = new HashMap<Long, Number>(); metricValues.put(timestamp, value); m.setValues(metricValues); return m; }
private static TimelineMetric getTimeSeriesMetric(String id, TimelineMetricOperation op, Map<Long, Number> metricValues) { TimelineMetric m = new TimelineMetric(); m.setId(id); m.setType(Type.TIME_SERIES); m.setRealtimeAggregationOp(op); m.setValues(metricValues); return m; }
String metricId = "CPU"; metric.setId(metricId); metric.setType(TimelineMetric.Type.SINGLE_VALUE); metric.setRealtimeAggregationOp(TimelineMetricOperation.SUM); metric.addValue(1425016501000L, 1234567L);
TimelineMetric metric1 = new TimelineMetric(); metric1.setId("metric1"); metric1.setType(TimelineMetric.Type.SINGLE_VALUE); metric1.addValue(1425016502006L, 113); metrics.add(metric1); TimelineMetric metric2 = new TimelineMetric(); metric2.setId("metric2"); metric2.setType(TimelineMetric.Type.TIME_SERIES); metric2.addValue(1425016502016L, 34); metrics.add(metric2); TimelineMetric metric12 = new TimelineMetric(); metric12.setId("metric2"); metric12.setType(TimelineMetric.Type.TIME_SERIES); metric12.addValue(1425016502032L, 48); metric12.addValue(1425016502054L, 51); TimelineMetric metric3 = new TimelineMetric(); metric3.setId("metric3"); metric3.setType(TimelineMetric.Type.SINGLE_VALUE); metric3.addValue(1425016502060L, 23L); metrics.add(metric3); TimelineMetric metric21 = new TimelineMetric(); metric21.setId("metric1"); metric21.setType(TimelineMetric.Type.SINGLE_VALUE); metric21.addValue(1425016501006L, 300); metrics2.add(metric21); TimelineMetric metric22 = new TimelineMetric();