/** * Get the latest timeline metric as single value type. * * @param metric Incoming timeline metric * @return The latest metric in the incoming metric */ public static TimelineMetric getLatestSingleValueMetric( TimelineMetric metric) { if (metric.getType() == Type.SINGLE_VALUE) { return metric; } else { TimelineMetric singleValueMetric = new TimelineMetric(Type.SINGLE_VALUE); Long firstKey = metric.values.firstKey(); if (firstKey != null) { Number firstValue = metric.values.get(firstKey); singleValueMetric.addValue(firstKey, firstValue); } return singleValueMetric; } }
new TimelineMetric(TimelineMetric.Type.TIME_SERIES); metric1.setId("test metric id 1"); metric1.addValue(1L, 1.0F); metric1.addValue(3L, 3.0D); metric1.addValue(2L, 2); Assert.assertEquals(TimelineMetric.Type.TIME_SERIES, metric1.getType()); Iterator<Map.Entry<Long, Number>> itr = new TimelineMetric(TimelineMetric.Type.SINGLE_VALUE); metric2.setId("test metric id 1"); metric2.addValue(3L, (short) 3); Assert.assertEquals(TimelineMetric.Type.SINGLE_VALUE, metric2.getType()); Assert.assertTrue( new TimelineMetric(TimelineMetric.Type.SINGLE_VALUE); metric3.setId("test metric id 1"); metric3.addValue(4L, (short) 4); Assert.assertEquals("metric3 should equal to metric2! ", metric3, metric2); Assert.assertNotEquals("metric1 should not equal to metric2! ",
private TimelineMetric getTimelineMetric(String name, long timestamp, Number value) { TimelineMetric metric = new TimelineMetric(); metric.setId(name); metric.addValue(timestamp, value); return metric; }
/** * Keep the greater value of incoming and base. Stateless operation. * * @param incoming Metric a * @param base Metric b * @param state Operation state (not used) * @return the greater value of a and b */ @Override public TimelineMetric exec(TimelineMetric incoming, TimelineMetric base, Map<Object, Object> state) { if (base == null) { return incoming; } Number incomingValue = incoming.getSingleDataValue(); Number aggregateValue = base.getSingleDataValue(); if (aggregateValue == null) { aggregateValue = Long.MIN_VALUE; } if (TimelineMetricCalculator.compare(incomingValue, aggregateValue) > 0) { base.addValue(incoming.getSingleDataTimestamp(), incomingValue); } return base; } },
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; }
base.addValue(incoming.getSingleDataTimestamp(), result); return base;
memoryMetric.setId(ContainerMetric.MEMORY.toString()); memoryMetric.setRealtimeAggregationOp(TimelineMetricOperation.SUM); memoryMetric.addValue(currentTimeMillis, pmemUsage); entity.addMetric(memoryMetric); cpuMetric.addValue(currentTimeMillis, Math.round(cpuUsagePercentPerCore)); entity.addMetric(cpuMetric);
m1.setRealtimeAggregationOp(TimelineMetricOperation.SUM); long ts = System.currentTimeMillis(); m1.addValue(ts - 20000, 100L); metrics.add(m1); m2.setId("VCORES_USED"); m2.setRealtimeAggregationOp(TimelineMetricOperation.SUM); m2.addValue(ts - 20000, 3L); metrics.add(m2); m3.addValue(ts - 20000, 3L); metrics.add(m3); m4.setId("TXN_FINISH_TIME"); m4.setRealtimeAggregationOp(TimelineMetricOperation.MAX); m4.addValue(ts - 20000, i); metrics.add(m4);
metric.setType(TimelineMetric.Type.SINGLE_VALUE); metric.setRealtimeAggregationOp(TimelineMetricOperation.SUM); metric.addValue(1425016501000L, 1234567L);
@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(); } }
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); entity11.setMetrics(metrics); metric12.setId("metric2"); metric12.setType(TimelineMetric.Type.TIME_SERIES); metric12.addValue(1425016502032L, 48); metric12.addValue(1425016502054L, 51); metrics.add(metric12); TimelineMetric metric3 = new TimelineMetric(); metric3.setId("metric3"); metric3.setType(TimelineMetric.Type.SINGLE_VALUE); metric3.addValue(1425016502060L, 23L); metrics.add(metric3); entity12.setMetrics(metrics); metric21.setId("metric1"); metric21.setType(TimelineMetric.Type.SINGLE_VALUE); metric21.addValue(1425016501006L, 300); metrics2.add(metric21); TimelineMetric metric22 = new TimelineMetric(); metric22.setId("metric2");