|
@@ -24,6 +24,7 @@ import java.util.HashSet;
|
|
|
import java.util.Map;
|
|
|
import java.util.Set;
|
|
|
|
|
|
+import org.apache.hadoop.conf.Configuration;
|
|
|
import org.apache.hadoop.hbase.HBaseTestingUtility;
|
|
|
import org.apache.hadoop.yarn.api.records.timelineservice.TimelineEntities;
|
|
|
import org.apache.hadoop.yarn.api.records.timelineservice.TimelineEntity;
|
|
@@ -31,10 +32,33 @@ import org.apache.hadoop.yarn.api.records.timelineservice.TimelineEntityType;
|
|
|
import org.apache.hadoop.yarn.api.records.timelineservice.TimelineEvent;
|
|
|
import org.apache.hadoop.yarn.api.records.timelineservice.TimelineMetric;
|
|
|
import org.apache.hadoop.yarn.api.records.timelineservice.TimelineMetric.Type;
|
|
|
+import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
|
|
import org.apache.hadoop.yarn.server.metrics.ApplicationMetricsConstants;
|
|
|
|
|
|
-final class DataGeneratorForTest {
|
|
|
- static void loadApps(HBaseTestingUtility util) throws IOException {
|
|
|
+/**
|
|
|
+ * Utility class that creates the schema and generates test data.
|
|
|
+ */
|
|
|
+public final class DataGeneratorForTest {
|
|
|
+
|
|
|
+ // private constructor for utility class
|
|
|
+ private DataGeneratorForTest() {
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Creates the schema for timeline service.
|
|
|
+ * @param conf
|
|
|
+ * @throws IOException
|
|
|
+ */
|
|
|
+ public static void createSchema(final Configuration conf)
|
|
|
+ throws IOException {
|
|
|
+ // set the jar location to null so that
|
|
|
+ // the coprocessor class is loaded from classpath
|
|
|
+ conf.set(YarnConfiguration.FLOW_RUN_COPROCESSOR_JAR_HDFS_LOCATION, " ");
|
|
|
+ // now create all tables
|
|
|
+ TimelineSchemaCreator.createAllTables(conf, false);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void loadApps(HBaseTestingUtility util) throws IOException {
|
|
|
TimelineEntities te = new TimelineEntities();
|
|
|
TimelineEntity entity = new TimelineEntity();
|
|
|
String id = "application_1111111111_2222";
|
|
@@ -43,11 +67,7 @@ final class DataGeneratorForTest {
|
|
|
Long cTime = 1425016502000L;
|
|
|
entity.setCreatedTime(cTime);
|
|
|
// add the info map in Timeline Entity
|
|
|
- Map<String, Object> infoMap = new HashMap<>();
|
|
|
- infoMap.put("infoMapKey1", "infoMapValue2");
|
|
|
- infoMap.put("infoMapKey2", 20);
|
|
|
- infoMap.put("infoMapKey3", 85.85);
|
|
|
- entity.addInfo(infoMap);
|
|
|
+ entity.addInfo(getInfoMap3());
|
|
|
// add the isRelatedToEntity info
|
|
|
Set<String> isRelatedToSet = new HashSet<>();
|
|
|
isRelatedToSet.add("relatedto1");
|
|
@@ -72,29 +92,15 @@ final class DataGeneratorForTest {
|
|
|
entity.addConfigs(conf);
|
|
|
// add metrics
|
|
|
Set<TimelineMetric> metrics = new HashSet<>();
|
|
|
- TimelineMetric m1 = new TimelineMetric();
|
|
|
- m1.setId("MAP_SLOT_MILLIS");
|
|
|
- Map<Long, Number> metricValues = new HashMap<>();
|
|
|
long ts = System.currentTimeMillis();
|
|
|
- metricValues.put(ts - 120000, 100000000);
|
|
|
- metricValues.put(ts - 100000, 200000000);
|
|
|
- metricValues.put(ts - 80000, 300000000);
|
|
|
- metricValues.put(ts - 60000, 400000000);
|
|
|
- metricValues.put(ts - 40000, 50000000000L);
|
|
|
- metricValues.put(ts - 20000, 60000000000L);
|
|
|
- m1.setType(Type.TIME_SERIES);
|
|
|
- m1.setValues(metricValues);
|
|
|
- metrics.add(m1);
|
|
|
+ metrics.add(getMetric4(ts));
|
|
|
|
|
|
TimelineMetric m12 = new TimelineMetric();
|
|
|
m12.setId("MAP1_BYTES");
|
|
|
m12.addValue(ts, 50);
|
|
|
metrics.add(m12);
|
|
|
entity.addMetrics(metrics);
|
|
|
- TimelineEvent event = new TimelineEvent();
|
|
|
- event.setId("start_event");
|
|
|
- event.setTimestamp(ts);
|
|
|
- entity.addEvent(event);
|
|
|
+ entity.addEvent(addStartEvent(ts));
|
|
|
te.addEntity(entity);
|
|
|
TimelineEntities te1 = new TimelineEntities();
|
|
|
TimelineEntity entity1 = new TimelineEntity();
|
|
@@ -103,10 +109,7 @@ final class DataGeneratorForTest {
|
|
|
entity1.setType(TimelineEntityType.YARN_APPLICATION.toString());
|
|
|
entity1.setCreatedTime(cTime + 20L);
|
|
|
// add the info map in Timeline Entity
|
|
|
- Map<String, Object> infoMap1 = new HashMap<>();
|
|
|
- infoMap1.put("infoMapKey1", "infoMapValue1");
|
|
|
- infoMap1.put("infoMapKey2", 10);
|
|
|
- entity1.addInfo(infoMap1);
|
|
|
+ entity1.addInfo(getInfoMap4());
|
|
|
|
|
|
// add the isRelatedToEntity info
|
|
|
Set<String> isRelatedToSet1 = new HashSet<>();
|
|
@@ -134,21 +137,7 @@ final class DataGeneratorForTest {
|
|
|
entity1.addConfigs(conf1);
|
|
|
|
|
|
// add metrics
|
|
|
- Set<TimelineMetric> metrics1 = new HashSet<>();
|
|
|
- TimelineMetric m2 = new TimelineMetric();
|
|
|
- m2.setId("MAP1_SLOT_MILLIS");
|
|
|
- Map<Long, Number> metricValues1 = new HashMap<>();
|
|
|
- long ts1 = System.currentTimeMillis();
|
|
|
- metricValues1.put(ts1 - 120000, 100000000);
|
|
|
- metricValues1.put(ts1 - 100000, 200000000);
|
|
|
- metricValues1.put(ts1 - 80000, 300000000);
|
|
|
- metricValues1.put(ts1 - 60000, 400000000);
|
|
|
- metricValues1.put(ts1 - 40000, 50000000000L);
|
|
|
- metricValues1.put(ts1 - 20000, 60000000000L);
|
|
|
- m2.setType(Type.TIME_SERIES);
|
|
|
- m2.setValues(metricValues1);
|
|
|
- metrics1.add(m2);
|
|
|
- entity1.addMetrics(metrics1);
|
|
|
+ entity1.addMetrics(getMetrics4());
|
|
|
TimelineEvent event11 = new TimelineEvent();
|
|
|
event11.setId("end_event");
|
|
|
event11.setTimestamp(ts);
|
|
@@ -160,27 +149,7 @@ final class DataGeneratorForTest {
|
|
|
te1.addEntity(entity1);
|
|
|
|
|
|
TimelineEntities te2 = new TimelineEntities();
|
|
|
- TimelineEntity entity2 = new TimelineEntity();
|
|
|
- String id2 = "application_1111111111_4444";
|
|
|
- entity2.setId(id2);
|
|
|
- entity2.setType(TimelineEntityType.YARN_APPLICATION.toString());
|
|
|
- entity2.setCreatedTime(cTime + 40L);
|
|
|
- TimelineEvent event21 = new TimelineEvent();
|
|
|
- event21.setId("update_event");
|
|
|
- event21.setTimestamp(ts - 20);
|
|
|
- entity2.addEvent(event21);
|
|
|
- Set<String> isRelatedToSet2 = new HashSet<String>();
|
|
|
- isRelatedToSet2.add("relatedto3");
|
|
|
- Map<String, Set<String>> isRelatedTo2 = new HashMap<>();
|
|
|
- isRelatedTo2.put("task1", isRelatedToSet2);
|
|
|
- entity2.setIsRelatedToEntities(isRelatedTo2);
|
|
|
- Map<String, Set<String>> relatesTo3 = new HashMap<>();
|
|
|
- Set<String> relatesToSet14 = new HashSet<String>();
|
|
|
- relatesToSet14.add("relatesto7");
|
|
|
- relatesTo3.put("container2", relatesToSet14);
|
|
|
- entity2.setRelatesToEntities(relatesTo3);
|
|
|
-
|
|
|
- te2.addEntity(entity2);
|
|
|
+ te2.addEntity(getEntity4(cTime, ts));
|
|
|
HBaseTimelineWriterImpl hbi = null;
|
|
|
try {
|
|
|
hbi = new HBaseTimelineWriterImpl();
|
|
@@ -206,29 +175,86 @@ final class DataGeneratorForTest {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- static void loadEntities(HBaseTestingUtility util) throws IOException {
|
|
|
- TimelineEntities te = new TimelineEntities();
|
|
|
- TimelineEntity entity = new TimelineEntity();
|
|
|
- String id = "hello";
|
|
|
- String type = "world";
|
|
|
- entity.setId(id);
|
|
|
- entity.setType(type);
|
|
|
- Long cTime = 1425016502000L;
|
|
|
- entity.setCreatedTime(cTime);
|
|
|
- // add the info map in Timeline Entity
|
|
|
+ private static Set<TimelineMetric> getMetrics4() {
|
|
|
+ Set<TimelineMetric> metrics1 = new HashSet<>();
|
|
|
+ TimelineMetric m2 = new TimelineMetric();
|
|
|
+ m2.setId("MAP1_SLOT_MILLIS");
|
|
|
+ long ts1 = System.currentTimeMillis();
|
|
|
+ Map<Long, Number> metricValues1 = new HashMap<>();
|
|
|
+ metricValues1.put(ts1 - 120000, 100000000);
|
|
|
+ metricValues1.put(ts1 - 100000, 200000000);
|
|
|
+ metricValues1.put(ts1 - 80000, 300000000);
|
|
|
+ metricValues1.put(ts1 - 60000, 400000000);
|
|
|
+ metricValues1.put(ts1 - 40000, 50000000000L);
|
|
|
+ metricValues1.put(ts1 - 20000, 60000000000L);
|
|
|
+ m2.setType(Type.TIME_SERIES);
|
|
|
+ m2.setValues(metricValues1);
|
|
|
+ metrics1.add(m2);
|
|
|
+ return metrics1;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static TimelineEntity getEntity4(long cTime, long ts) {
|
|
|
+ TimelineEntity entity2 = new TimelineEntity();
|
|
|
+ String id2 = "application_1111111111_4444";
|
|
|
+ entity2.setId(id2);
|
|
|
+ entity2.setType(TimelineEntityType.YARN_APPLICATION.toString());
|
|
|
+ entity2.setCreatedTime(cTime + 40L);
|
|
|
+ TimelineEvent event21 = new TimelineEvent();
|
|
|
+ event21.setId("update_event");
|
|
|
+ event21.setTimestamp(ts - 20);
|
|
|
+ entity2.addEvent(event21);
|
|
|
+ Set<String> isRelatedToSet2 = new HashSet<String>();
|
|
|
+ isRelatedToSet2.add("relatedto3");
|
|
|
+ Map<String, Set<String>> isRelatedTo2 = new HashMap<>();
|
|
|
+ isRelatedTo2.put("task1", isRelatedToSet2);
|
|
|
+ entity2.setIsRelatedToEntities(isRelatedTo2);
|
|
|
+ Map<String, Set<String>> relatesTo3 = new HashMap<>();
|
|
|
+ Set<String> relatesToSet14 = new HashSet<String>();
|
|
|
+ relatesToSet14.add("relatesto7");
|
|
|
+ relatesTo3.put("container2", relatesToSet14);
|
|
|
+ entity2.setRelatesToEntities(relatesTo3);
|
|
|
+ return entity2;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static Map<String, Object> getInfoMap4() {
|
|
|
+ Map<String, Object> infoMap1 = new HashMap<>();
|
|
|
+ infoMap1.put("infoMapKey1", "infoMapValue1");
|
|
|
+ infoMap1.put("infoMapKey2", 10);
|
|
|
+ return infoMap1;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static TimelineMetric getMetric4(long ts) {
|
|
|
+ TimelineMetric m1 = new TimelineMetric();
|
|
|
+ m1.setId("MAP_SLOT_MILLIS");
|
|
|
+ Map<Long, Number> metricValues = new HashMap<>();
|
|
|
+ metricValues.put(ts - 120000, 100000000);
|
|
|
+ metricValues.put(ts - 100000, 200000000);
|
|
|
+ metricValues.put(ts - 80000, 300000000);
|
|
|
+ metricValues.put(ts - 60000, 400000000);
|
|
|
+ metricValues.put(ts - 40000, 50000000000L);
|
|
|
+ metricValues.put(ts - 20000, 60000000000L);
|
|
|
+ m1.setType(Type.TIME_SERIES);
|
|
|
+ m1.setValues(metricValues);
|
|
|
+ return m1;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static Map<String, Object> getInfoMap3() {
|
|
|
+ Map<String, Object> infoMap = new HashMap<>();
|
|
|
+ infoMap.put("infoMapKey1", "infoMapValue2");
|
|
|
+ infoMap.put("infoMapKey2", 20);
|
|
|
+ infoMap.put("infoMapKey3", 85.85);
|
|
|
+ return infoMap;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static Map<String, Object> getInfoMap1() {
|
|
|
Map<String, Object> infoMap = new HashMap<>();
|
|
|
infoMap.put("infoMapKey1", "infoMapValue2");
|
|
|
infoMap.put("infoMapKey2", 20);
|
|
|
infoMap.put("infoMapKey3", 71.4);
|
|
|
- entity.addInfo(infoMap);
|
|
|
- // add the isRelatedToEntity info
|
|
|
- Set<String> isRelatedToSet = new HashSet<>();
|
|
|
- isRelatedToSet.add("relatedto1");
|
|
|
- Map<String, Set<String>> isRelatedTo = new HashMap<>();
|
|
|
- isRelatedTo.put("task", isRelatedToSet);
|
|
|
- entity.setIsRelatedToEntities(isRelatedTo);
|
|
|
+ return infoMap;
|
|
|
+ }
|
|
|
|
|
|
- // add the relatesTo info
|
|
|
+ private static Map<String, Set<String>> getRelatesTo1() {
|
|
|
Set<String> relatesToSet = new HashSet<String>();
|
|
|
relatesToSet.add("relatesto1");
|
|
|
relatesToSet.add("relatesto3");
|
|
@@ -237,29 +263,78 @@ final class DataGeneratorForTest {
|
|
|
Set<String> relatesToSet11 = new HashSet<>();
|
|
|
relatesToSet11.add("relatesto4");
|
|
|
relatesTo.put("container1", relatesToSet11);
|
|
|
- entity.setRelatesToEntities(relatesTo);
|
|
|
+ return relatesTo;
|
|
|
+ }
|
|
|
|
|
|
- // add some config entries
|
|
|
+ private static Map<String, String> getConfig1() {
|
|
|
Map<String, String> conf = new HashMap<>();
|
|
|
conf.put("config_param1", "value1");
|
|
|
conf.put("config_param2", "value2");
|
|
|
conf.put("cfg_param1", "value3");
|
|
|
- entity.addConfigs(conf);
|
|
|
+ return conf;
|
|
|
+ }
|
|
|
|
|
|
- // add metrics
|
|
|
- Set<TimelineMetric> metrics = new HashSet<>();
|
|
|
- TimelineMetric m1 = new TimelineMetric();
|
|
|
- m1.setId("MAP_SLOT_MILLIS");
|
|
|
+ private static Map<String, String> getConfig2() {
|
|
|
+ Map<String, String> conf1 = new HashMap<>();
|
|
|
+ conf1.put("cfg_param1", "value1");
|
|
|
+ conf1.put("cfg_param2", "value2");
|
|
|
+ return conf1;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static Map<String, Object> getInfoMap2() {
|
|
|
+ Map<String, Object> infoMap1 = new HashMap<>();
|
|
|
+ infoMap1.put("infoMapKey1", "infoMapValue1");
|
|
|
+ infoMap1.put("infoMapKey2", 10);
|
|
|
+ return infoMap1;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static Map<String, Set<String>> getIsRelatedTo1() {
|
|
|
+ Set<String> isRelatedToSet = new HashSet<>();
|
|
|
+ isRelatedToSet.add("relatedto1");
|
|
|
+ Map<String, Set<String>> isRelatedTo = new HashMap<>();
|
|
|
+ isRelatedTo.put("task", isRelatedToSet);
|
|
|
+ return isRelatedTo;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static Map<Long, Number> getMetricValues1(long ts) {
|
|
|
Map<Long, Number> metricValues = new HashMap<>();
|
|
|
- long ts = System.currentTimeMillis();
|
|
|
metricValues.put(ts - 120000, 100000000);
|
|
|
metricValues.put(ts - 100000, 200000000);
|
|
|
metricValues.put(ts - 80000, 300000000);
|
|
|
metricValues.put(ts - 60000, 400000000);
|
|
|
metricValues.put(ts - 40000, 50000000000L);
|
|
|
metricValues.put(ts - 20000, 70000000000L);
|
|
|
+ return metricValues;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void loadEntities(HBaseTestingUtility util)
|
|
|
+ throws IOException {
|
|
|
+ TimelineEntities te = new TimelineEntities();
|
|
|
+ TimelineEntity entity = new TimelineEntity();
|
|
|
+ String id = "hello";
|
|
|
+ String type = "world";
|
|
|
+ entity.setId(id);
|
|
|
+ entity.setType(type);
|
|
|
+ Long cTime = 1425016502000L;
|
|
|
+ entity.setCreatedTime(cTime);
|
|
|
+ // add the info map in Timeline Entity
|
|
|
+ entity.addInfo(getInfoMap1());
|
|
|
+ // add the isRelatedToEntity info
|
|
|
+ entity.setIsRelatedToEntities(getIsRelatedTo1());
|
|
|
+
|
|
|
+ // add the relatesTo info
|
|
|
+ entity.setRelatesToEntities(getRelatesTo1());
|
|
|
+
|
|
|
+ // add some config entries
|
|
|
+ entity.addConfigs(getConfig1());
|
|
|
+
|
|
|
+ // add metrics
|
|
|
+ Set<TimelineMetric> metrics = new HashSet<>();
|
|
|
+ TimelineMetric m1 = new TimelineMetric();
|
|
|
+ m1.setId("MAP_SLOT_MILLIS");
|
|
|
+ long ts = System.currentTimeMillis();
|
|
|
m1.setType(Type.TIME_SERIES);
|
|
|
- m1.setValues(metricValues);
|
|
|
+ m1.setValues(getMetricValues1(ts));
|
|
|
metrics.add(m1);
|
|
|
|
|
|
TimelineMetric m12 = new TimelineMetric();
|
|
@@ -267,10 +342,7 @@ final class DataGeneratorForTest {
|
|
|
m12.addValue(ts, 50);
|
|
|
metrics.add(m12);
|
|
|
entity.addMetrics(metrics);
|
|
|
- TimelineEvent event = new TimelineEvent();
|
|
|
- event.setId("start_event");
|
|
|
- event.setTimestamp(ts);
|
|
|
- entity.addEvent(event);
|
|
|
+ entity.addEvent(addStartEvent(ts));
|
|
|
te.addEntity(entity);
|
|
|
|
|
|
TimelineEntity entity1 = new TimelineEntity();
|
|
@@ -280,10 +352,7 @@ final class DataGeneratorForTest {
|
|
|
entity1.setCreatedTime(cTime + 20L);
|
|
|
|
|
|
// add the info map in Timeline Entity
|
|
|
- Map<String, Object> infoMap1 = new HashMap<>();
|
|
|
- infoMap1.put("infoMapKey1", "infoMapValue1");
|
|
|
- infoMap1.put("infoMapKey2", 10);
|
|
|
- entity1.addInfo(infoMap1);
|
|
|
+ entity1.addInfo(getInfoMap2());
|
|
|
|
|
|
// add event.
|
|
|
TimelineEvent event11 = new TimelineEvent();
|
|
@@ -297,15 +366,7 @@ final class DataGeneratorForTest {
|
|
|
|
|
|
|
|
|
// add the isRelatedToEntity info
|
|
|
- Set<String> isRelatedToSet1 = new HashSet<>();
|
|
|
- isRelatedToSet1.add("relatedto3");
|
|
|
- isRelatedToSet1.add("relatedto5");
|
|
|
- Map<String, Set<String>> isRelatedTo1 = new HashMap<>();
|
|
|
- isRelatedTo1.put("task1", isRelatedToSet1);
|
|
|
- Set<String> isRelatedToSet11 = new HashSet<>();
|
|
|
- isRelatedToSet11.add("relatedto4");
|
|
|
- isRelatedTo1.put("task2", isRelatedToSet11);
|
|
|
- entity1.setIsRelatedToEntities(isRelatedTo1);
|
|
|
+ entity1.setIsRelatedToEntities(getIsRelatedTo2());
|
|
|
|
|
|
// add the relatesTo info
|
|
|
Set<String> relatesToSet1 = new HashSet<String>();
|
|
@@ -316,49 +377,20 @@ final class DataGeneratorForTest {
|
|
|
entity1.setRelatesToEntities(relatesTo1);
|
|
|
|
|
|
// add some config entries
|
|
|
- Map<String, String> conf1 = new HashMap<>();
|
|
|
- conf1.put("cfg_param1", "value1");
|
|
|
- conf1.put("cfg_param2", "value2");
|
|
|
- entity1.addConfigs(conf1);
|
|
|
+ entity1.addConfigs(getConfig2());
|
|
|
|
|
|
// add metrics
|
|
|
Set<TimelineMetric> metrics1 = new HashSet<>();
|
|
|
TimelineMetric m2 = new TimelineMetric();
|
|
|
m2.setId("MAP1_SLOT_MILLIS");
|
|
|
- Map<Long, Number> metricValues1 = new HashMap<>();
|
|
|
long ts1 = System.currentTimeMillis();
|
|
|
- metricValues1.put(ts1 - 120000, 100000000);
|
|
|
- metricValues1.put(ts1 - 100000, 200000000);
|
|
|
- metricValues1.put(ts1 - 80000, 300000000);
|
|
|
- metricValues1.put(ts1 - 60000, 400000000);
|
|
|
- metricValues1.put(ts1 - 40000, 50000000000L);
|
|
|
- metricValues1.put(ts1 - 20000, 60000000000L);
|
|
|
m2.setType(Type.TIME_SERIES);
|
|
|
- m2.setValues(metricValues1);
|
|
|
+ m2.setValues(getMetricValues2(ts1));
|
|
|
metrics1.add(m2);
|
|
|
entity1.addMetrics(metrics1);
|
|
|
te.addEntity(entity1);
|
|
|
|
|
|
- TimelineEntity entity2 = new TimelineEntity();
|
|
|
- String id2 = "hello2";
|
|
|
- entity2.setId(id2);
|
|
|
- entity2.setType(type);
|
|
|
- entity2.setCreatedTime(cTime + 40L);
|
|
|
- TimelineEvent event21 = new TimelineEvent();
|
|
|
- event21.setId("update_event");
|
|
|
- event21.setTimestamp(ts - 20);
|
|
|
- entity2.addEvent(event21);
|
|
|
- Set<String> isRelatedToSet2 = new HashSet<>();
|
|
|
- isRelatedToSet2.add("relatedto3");
|
|
|
- Map<String, Set<String>> isRelatedTo2 = new HashMap<>();
|
|
|
- isRelatedTo2.put("task1", isRelatedToSet2);
|
|
|
- entity2.setIsRelatedToEntities(isRelatedTo2);
|
|
|
- Map<String, Set<String>> relatesTo3 = new HashMap<>();
|
|
|
- Set<String> relatesToSet14 = new HashSet<>();
|
|
|
- relatesToSet14.add("relatesto7");
|
|
|
- relatesTo3.put("container2", relatesToSet14);
|
|
|
- entity2.setRelatesToEntities(relatesTo3);
|
|
|
- te.addEntity(entity2);
|
|
|
+ te.addEntity(getEntity2(type, cTime, ts));
|
|
|
|
|
|
// For listing types
|
|
|
for (int i = 0; i < 10; i++) {
|
|
@@ -421,4 +453,58 @@ final class DataGeneratorForTest {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private static TimelineEntity getEntity2(String type, long cTime,
|
|
|
+ long ts) {
|
|
|
+ TimelineEntity entity2 = new TimelineEntity();
|
|
|
+ String id2 = "hello2";
|
|
|
+ entity2.setId(id2);
|
|
|
+ entity2.setType(type);
|
|
|
+ entity2.setCreatedTime(cTime + 40L);
|
|
|
+ TimelineEvent event21 = new TimelineEvent();
|
|
|
+ event21.setId("update_event");
|
|
|
+ event21.setTimestamp(ts - 20);
|
|
|
+ entity2.addEvent(event21);
|
|
|
+ Set<String> isRelatedToSet2 = new HashSet<>();
|
|
|
+ isRelatedToSet2.add("relatedto3");
|
|
|
+ Map<String, Set<String>> isRelatedTo2 = new HashMap<>();
|
|
|
+ isRelatedTo2.put("task1", isRelatedToSet2);
|
|
|
+ entity2.setIsRelatedToEntities(isRelatedTo2);
|
|
|
+ Map<String, Set<String>> relatesTo3 = new HashMap<>();
|
|
|
+ Set<String> relatesToSet14 = new HashSet<>();
|
|
|
+ relatesToSet14.add("relatesto7");
|
|
|
+ relatesTo3.put("container2", relatesToSet14);
|
|
|
+ entity2.setRelatesToEntities(relatesTo3);
|
|
|
+ return entity2;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static TimelineEvent addStartEvent(long ts) {
|
|
|
+ TimelineEvent event = new TimelineEvent();
|
|
|
+ event.setId("start_event");
|
|
|
+ event.setTimestamp(ts);
|
|
|
+ return event;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static Map<Long, Number> getMetricValues2(long ts1) {
|
|
|
+ Map<Long, Number> metricValues1 = new HashMap<>();
|
|
|
+ metricValues1.put(ts1 - 120000, 100000000);
|
|
|
+ metricValues1.put(ts1 - 100000, 200000000);
|
|
|
+ metricValues1.put(ts1 - 80000, 300000000);
|
|
|
+ metricValues1.put(ts1 - 60000, 400000000);
|
|
|
+ metricValues1.put(ts1 - 40000, 50000000000L);
|
|
|
+ metricValues1.put(ts1 - 20000, 60000000000L);
|
|
|
+ return metricValues1;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static Map<String, Set<String>> getIsRelatedTo2() {
|
|
|
+ Set<String> isRelatedToSet1 = new HashSet<>();
|
|
|
+ isRelatedToSet1.add("relatedto3");
|
|
|
+ isRelatedToSet1.add("relatedto5");
|
|
|
+ Map<String, Set<String>> isRelatedTo1 = new HashMap<>();
|
|
|
+ isRelatedTo1.put("task1", isRelatedToSet1);
|
|
|
+ Set<String> isRelatedToSet11 = new HashSet<>();
|
|
|
+ isRelatedToSet11.add("relatedto4");
|
|
|
+ isRelatedTo1.put("task2", isRelatedToSet11);
|
|
|
+ return isRelatedTo1;
|
|
|
+ }
|
|
|
}
|