private TimelineMetric getTimelineMetric(String name, long timestamp, Number value) { TimelineMetric metric = new TimelineMetric(); metric.setId(name); metric.addValue(timestamp, value); return metric; }
/** * 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 createDummyMetric(long ts, Long value) { TimelineMetric metric = new TimelineMetric(); metric.setId("dummy_metric"); metric.addValue(ts, value); metric.setRealtimeAggregationOp(TimelineMetricOperation.SUM); return metric; }
if (pmemUsage != ResourceCalculatorProcessTree.UNAVAILABLE) { TimelineMetric memoryMetric = new TimelineMetric(); memoryMetric.setId(ContainerMetric.MEMORY.toString()); memoryMetric.setRealtimeAggregationOp(TimelineMetricOperation.SUM); memoryMetric.addValue(currentTimeMillis, pmemUsage); cpuMetric.setId(ContainerMetric.CPU.toString());
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; }
m1.setId("HDFS_BYTES_WRITE"); m1.setRealtimeAggregationOp(TimelineMetricOperation.SUM); long ts = System.currentTimeMillis(); m2.setId("VCORES_USED"); m2.setRealtimeAggregationOp(TimelineMetricOperation.SUM); m2.addValue(ts - 20000, 3L); m3.setId("UNRELATED_VALUES"); m3.addValue(ts - 20000, 3L); metrics.add(m3); m4.setId("TXN_FINISH_TIME"); m4.setRealtimeAggregationOp(TimelineMetricOperation.MAX); m4.addValue(ts - 20000, i);
metric.setId(metricId); metric.setType(TimelineMetric.Type.SINGLE_VALUE); metric.setRealtimeAggregationOp(TimelineMetricOperation.SUM);
metric1.setId("test metric id 1"); metric1.addValue(1L, 1.0F); metric1.addValue(3L, 3.0D); metric2.setId("test metric id 1"); metric2.addValue(3L, (short) 3); Assert.assertEquals(TimelineMetric.Type.SINGLE_VALUE, metric2.getType()); metric3.setId("test metric id 1"); metric3.addValue(4L, (short) 4); Assert.assertEquals("metric3 should equal to metric2! ", metric3, metric2);
Set<TimelineMetric> metrics = new HashSet<TimelineMetric>(); 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.clear(); TimelineMetric metric12 = new TimelineMetric(); metric12.setId("metric2"); metric12.setType(TimelineMetric.Type.TIME_SERIES); metric12.addValue(1425016502032L, 48); metrics.add(metric12); TimelineMetric metric3 = new TimelineMetric(); metric3.setId("metric3"); metric3.setType(TimelineMetric.Type.SINGLE_VALUE); metric3.addValue(1425016502060L, 23L); Set<TimelineMetric> metrics2 = new HashSet<TimelineMetric>(); TimelineMetric metric21 = new TimelineMetric(); metric21.setId("metric1"); metric21.setType(TimelineMetric.Type.SINGLE_VALUE); metric21.addValue(1425016501006L, 300); metrics2.add(metric21);
@Test public void testPutEntities() throws Exception { TimelineV2Client client = TimelineV2Client.createTimelineClient(ApplicationId.newInstance(0, 1)); try { // Set the timeline service address manually. client.setTimelineCollectorInfo(CollectorInfo.newInstance( collectorManager.getRestServerBindAddress())); client.init(conf); client.start(); TimelineEntity entity = new TimelineEntity(); entity.setType("test entity type"); entity.setId("test entity id"); TimelineMetric metric = new TimelineMetric(TimelineMetric.Type.TIME_SERIES); metric.setId("test metric id"); metric.addValue(1L, 1.0D); metric.addValue(2L, 2.0D); entity.addMetric(metric); client.putEntities(entity); client.putEntitiesAsync(entity); } finally { client.stop(); } }