From 53ee99bfacc3b019a0e2b24f6f336597683e3e35 Mon Sep 17 00:00:00 2001
From: Florian Fittkau <ffi@informatik.uni-kiel.de>
Date: Sun, 25 May 2014 19:11:32 +0200
Subject: [PATCH] system name

---
 ...z.live_trace_processing.default.properties |   2 +
 .../reader/TCPReaderOneClient.java            |   7 +-
 .../TraceReconstructionBufferTest.java        |   2 +-
 .../reduction/AssociativityFilterTest.java    |  42 +++---
 .../filter/reduction/IterationFilterTest.java |  32 ++---
 .../reduction/MonotoneSubsequenceTest.java    |  32 ++---
 .../reduction/PatternSummarizationTest.java   | 124 +++++++++---------
 7 files changed, 125 insertions(+), 116 deletions(-)

diff --git a/src/META-INF/explorviz.live_trace_processing.default.properties b/src/META-INF/explorviz.live_trace_processing.default.properties
index 1f87cf8..377274a 100644
--- a/src/META-INF/explorviz.live_trace_processing.default.properties
+++ b/src/META-INF/explorviz.live_trace_processing.default.properties
@@ -13,6 +13,8 @@ explorviz.live_trace_processing.sending_buffer_size=65536
 
 ######################## Monitoring ########################
 
+explorviz.live_trace_processing.system_name=
+explorviz.live_trace_processing.ip_address=
 explorviz.live_trace_processing.host_name=
 explorviz.live_trace_processing.application_name=
 
diff --git a/src/explorviz/live_trace_processing/reader/TCPReaderOneClient.java b/src/explorviz/live_trace_processing/reader/TCPReaderOneClient.java
index ff2a380..b16277c 100644
--- a/src/explorviz/live_trace_processing/reader/TCPReaderOneClient.java
+++ b/src/explorviz/live_trace_processing/reader/TCPReaderOneClient.java
@@ -275,14 +275,19 @@ class TCPReaderOneClient extends Thread {
 	}
 
 	private final void readInHostApplicationMetaData(final ByteBuffer buffer) {
+		final int systemnameId = buffer.getInt();
+		final int ipaddressId = buffer.getInt();
 		final int hostnameId = buffer.getInt();
 		final int applicationId = buffer.getInt();
 
 		try {
+			final String systemname = stringRegistry.getStringFromId(systemnameId);
+			final String ipaddress = stringRegistry.getStringFromId(ipaddressId);
 			final String hostname = stringRegistry.getStringFromId(hostnameId);
 			final String application = stringRegistry.getStringFromId(applicationId);
 
-			hostApplicationMetadata = new HostApplicationMetaDataRecord(hostname, application);
+			hostApplicationMetadata = new HostApplicationMetaDataRecord(systemname, ipaddress,
+					hostname, application);
 		} catch (final IdNotAvailableException e) {
 			putInWaitingMessages(buffer, HostApplicationMetaDataRecord.BYTE_LENGTH_WITH_CLAZZ_ID);
 		}
diff --git a/test/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBufferTest.java b/test/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBufferTest.java
index 66d2029..5eddd01 100644
--- a/test/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBufferTest.java
+++ b/test/explorviz/live_trace_processing/filter/reconstruction/TraceReconstructionBufferTest.java
@@ -13,7 +13,7 @@ public class TraceReconstructionBufferTest {
 	public void testInsertEvent() throws Exception {
 		final TraceReconstructionBuffer traceReconstructionBuffer = new TraceReconstructionBuffer();
 		traceReconstructionBuffer.insertEvent(new BeforeOperationEventRecord(1000, 1, 0, 0, "test",
-				new HostApplicationMetaDataRecord("testHost", "testApp")));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "testHost", "testApp")));
 		assertTrue(true); // TODO
 	}
 
diff --git a/test/explorviz/live_trace_processing/filter/reduction/AssociativityFilterTest.java b/test/explorviz/live_trace_processing/filter/reduction/AssociativityFilterTest.java
index f003980..063d784 100644
--- a/test/explorviz/live_trace_processing/filter/reduction/AssociativityFilterTest.java
+++ b/test/explorviz/live_trace_processing/filter/reduction/AssociativityFilterTest.java
@@ -24,53 +24,53 @@ public class AssociativityFilterTest {
 		final List<AbstractEventRecord> traceEvents = new ArrayList<AbstractEventRecord>();
 
 		final BeforeOperationEventRecord beforeEvent = new BeforeOperationEventRecord(1L, 1L, 0, 0,
-				"test.package.Clazz.method1()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				"test.package.Clazz.method1()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(11L));
 		traceEvents.add(beforeEvent);
 
 		final BeforeOperationEventRecord beforeEvent1 = new BeforeOperationEventRecord(2L, 1L, 1,
-				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent1.setRuntimeStatisticInformation(new RuntimeStatisticInformation(2L));
 		traceEvents.add(beforeEvent1);
 
 		final AfterOperationEventRecord afterEvent1 = new AfterOperationEventRecord(4L, 1L, 2,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent1);
 
 		final BeforeOperationEventRecord beforeEvent2 = new BeforeOperationEventRecord(5L, 1L, 3,
-				0, "test.package.OtherClazz.method3()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.OtherClazz.method3()", new HostApplicationMetaDataRecord(
+						"testSystem", "testIp", "host", "application"));
 		beforeEvent2.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent2);
 
 		final AfterOperationEventRecord afterEvent2 = new AfterOperationEventRecord(6L, 1L, 4,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent2);
 
 		final BeforeOperationEventRecord beforeEvent3 = new BeforeOperationEventRecord(7L, 1L, 5,
-				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent3.setRuntimeStatisticInformation(new RuntimeStatisticInformation(2L));
 		traceEvents.add(beforeEvent3);
 
 		final AfterOperationEventRecord afterEvent3 = new AfterOperationEventRecord(9L, 1L, 6,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent3);
 
 		final BeforeOperationEventRecord beforeEvent4 = new BeforeOperationEventRecord(10L, 1L, 7,
-				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent4.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent4);
 
 		final AfterOperationEventRecord afterEvent4 = new AfterOperationEventRecord(11L, 1L, 8,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent4);
 
 		final AfterOperationEventRecord afterEvent = new AfterOperationEventRecord(12L, 1L, 9,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent);
 
 		testTrace = new Trace(traceEvents, true);
@@ -81,23 +81,23 @@ public class AssociativityFilterTest {
 		final List<AbstractEventRecord> traceEvents = new ArrayList<AbstractEventRecord>();
 
 		final BeforeOperationEventRecord beforeEvent = new BeforeOperationEventRecord(1L, 1L, 0, 0,
-				"test.package.Clazz.method1()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				"test.package.Clazz.method1()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(11L));
 		traceEvents.add(beforeEvent);
 
 		final BeforeOperationEventRecord beforeEvent2 = new BeforeOperationEventRecord(5L, 1L, 3,
-				0, "test.package.OtherClazz.method3()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.OtherClazz.method3()", new HostApplicationMetaDataRecord(
+						"testSystem", "testIp", "host", "application"));
 		beforeEvent2.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent2);
 
 		final AfterOperationEventRecord afterEvent2 = new AfterOperationEventRecord(6L, 1L, 4,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent2);
 
 		final AfterOperationEventRecord afterEvent = new AfterOperationEventRecord(12L, 1L, 9,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent);
 
 		final Trace compareTrace = new Trace(traceEvents, true);
diff --git a/test/explorviz/live_trace_processing/filter/reduction/IterationFilterTest.java b/test/explorviz/live_trace_processing/filter/reduction/IterationFilterTest.java
index db8cf74..8978467 100644
--- a/test/explorviz/live_trace_processing/filter/reduction/IterationFilterTest.java
+++ b/test/explorviz/live_trace_processing/filter/reduction/IterationFilterTest.java
@@ -24,53 +24,53 @@ public class IterationFilterTest {
 		final List<AbstractEventRecord> traceEvents = new ArrayList<AbstractEventRecord>();
 
 		final BeforeOperationEventRecord beforeEvent = new BeforeOperationEventRecord(1L, 1L, 0, 0,
-				"test.package.Clazz.method1()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				"test.package.Clazz.method1()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(11L));
 		traceEvents.add(beforeEvent);
 
 		final BeforeOperationEventRecord beforeEvent1 = new BeforeOperationEventRecord(2L, 1L, 1,
-				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent1.setRuntimeStatisticInformation(new RuntimeStatisticInformation(2L));
 		traceEvents.add(beforeEvent1);
 
 		final AfterOperationEventRecord afterEvent1 = new AfterOperationEventRecord(4L, 1L, 2,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent1);
 
 		final BeforeOperationEventRecord beforeEvent2 = new BeforeOperationEventRecord(5L, 1L, 3,
-				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent2.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent2);
 
 		final AfterOperationEventRecord afterEvent2 = new AfterOperationEventRecord(6L, 1L, 4,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent2);
 
 		final BeforeOperationEventRecord beforeEvent3 = new BeforeOperationEventRecord(7L, 1L, 5,
-				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent3.setRuntimeStatisticInformation(new RuntimeStatisticInformation(2L));
 		traceEvents.add(beforeEvent3);
 
 		final AfterOperationEventRecord afterEvent3 = new AfterOperationEventRecord(9L, 1L, 6,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent3);
 
 		final BeforeOperationEventRecord beforeEvent4 = new BeforeOperationEventRecord(10L, 1L, 7,
-				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent4.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent4);
 
 		final AfterOperationEventRecord afterEvent4 = new AfterOperationEventRecord(11L, 1L, 8,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent4);
 
 		final AfterOperationEventRecord afterEvent = new AfterOperationEventRecord(12L, 1L, 9,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent);
 
 		trace = new Trace(traceEvents, true);
@@ -80,7 +80,7 @@ public class IterationFilterTest {
 	public void testReduction() {
 		final List<AbstractEventRecord> traceEvents = new ArrayList<AbstractEventRecord>();
 		final HostApplicationMetaDataRecord hostApplicationMetadata = new HostApplicationMetaDataRecord(
-				"host", "application");
+				"testSystem", "testIp", "host", "application");
 		final BeforeOperationEventRecord beforeEvent = new BeforeOperationEventRecord(1L, 1L, 0, 0,
 				"test.package.Clazz.method1()", hostApplicationMetadata);
 		traceEvents.add(beforeEvent);
diff --git a/test/explorviz/live_trace_processing/filter/reduction/MonotoneSubsequenceTest.java b/test/explorviz/live_trace_processing/filter/reduction/MonotoneSubsequenceTest.java
index e4d0cdf..fe4cbc0 100644
--- a/test/explorviz/live_trace_processing/filter/reduction/MonotoneSubsequenceTest.java
+++ b/test/explorviz/live_trace_processing/filter/reduction/MonotoneSubsequenceTest.java
@@ -24,53 +24,53 @@ public class MonotoneSubsequenceTest {
 		final List<AbstractEventRecord> traceEvents = new ArrayList<AbstractEventRecord>();
 
 		final BeforeOperationEventRecord beforeEvent = new BeforeOperationEventRecord(1L, 1L, 0, 0,
-				"test.package.Clazz.method1()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				"test.package.Clazz.method1()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(11L));
 		traceEvents.add(beforeEvent);
 
 		final BeforeOperationEventRecord beforeEvent1 = new BeforeOperationEventRecord(2L, 1L, 1,
-				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent1.setRuntimeStatisticInformation(new RuntimeStatisticInformation(2L));
 		traceEvents.add(beforeEvent1);
 
 		final AfterOperationEventRecord afterEvent1 = new AfterOperationEventRecord(4L, 1L, 2,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent1);
 
 		final BeforeOperationEventRecord beforeEvent2 = new BeforeOperationEventRecord(5L, 1L, 3,
-				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent2.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent2);
 
 		final AfterOperationEventRecord afterEvent2 = new AfterOperationEventRecord(6L, 1L, 4,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent2);
 
 		final BeforeOperationEventRecord beforeEvent3 = new BeforeOperationEventRecord(7L, 1L, 5,
-				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent3.setRuntimeStatisticInformation(new RuntimeStatisticInformation(2L));
 		traceEvents.add(beforeEvent3);
 
 		final AfterOperationEventRecord afterEvent3 = new AfterOperationEventRecord(9L, 1L, 6,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent3);
 
 		final BeforeOperationEventRecord beforeEvent4 = new BeforeOperationEventRecord(10L, 1L, 7,
-				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.method2()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent4.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent4);
 
 		final AfterOperationEventRecord afterEvent4 = new AfterOperationEventRecord(11L, 1L, 8,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent4);
 
 		final AfterOperationEventRecord afterEvent = new AfterOperationEventRecord(12L, 1L, 9,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent);
 
 		trace = new Trace(traceEvents, true);
@@ -81,7 +81,7 @@ public class MonotoneSubsequenceTest {
 		final List<AbstractEventRecord> traceEvents = new ArrayList<AbstractEventRecord>();
 
 		final HostApplicationMetaDataRecord hostApplicationMetadata = new HostApplicationMetaDataRecord(
-				"host", "application");
+				"testSystem", "testIp", "host", "application");
 
 		final BeforeOperationEventRecord beforeEvent = new BeforeOperationEventRecord(1L, 1L, 0, 0,
 				"test.package.Clazz.method1()", hostApplicationMetadata);
diff --git a/test/explorviz/live_trace_processing/filter/reduction/PatternSummarizationTest.java b/test/explorviz/live_trace_processing/filter/reduction/PatternSummarizationTest.java
index a9e86ee..9410f4a 100644
--- a/test/explorviz/live_trace_processing/filter/reduction/PatternSummarizationTest.java
+++ b/test/explorviz/live_trace_processing/filter/reduction/PatternSummarizationTest.java
@@ -19,152 +19,153 @@ public class PatternSummarizationTest {
 		final List<AbstractEventRecord> traceEvents = new ArrayList<AbstractEventRecord>();
 
 		final BeforeOperationEventRecord beforeEvent = new BeforeOperationEventRecord(1L, 1L, 0, 0,
-				"test.package.Clazz.A()", new HostApplicationMetaDataRecord("host", "application"));
+				"test.package.Clazz.A()", new HostApplicationMetaDataRecord("testSystem", "testIp",
+						"host", "application"));
 		beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(31L));
 		traceEvents.add(beforeEvent);
 
 		final BeforeOperationEventRecord beforeEvent1 = new BeforeOperationEventRecord(2L, 1L, 1,
-				0, "test.package.Clazz.B()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.B()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent1.setRuntimeStatisticInformation(new RuntimeStatisticInformation(2L));
 		traceEvents.add(beforeEvent1);
 
 		final AfterOperationEventRecord afterEvent1 = new AfterOperationEventRecord(4L, 1L, 2,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent1);
 
 		final BeforeOperationEventRecord beforeEvent2 = new BeforeOperationEventRecord(5L, 1L, 3,
-				0, "test.package.Clazz.C()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.C()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent2.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent2);
 
 		final AfterOperationEventRecord afterEvent2 = new AfterOperationEventRecord(6L, 1L, 4,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent2);
 
 		final BeforeOperationEventRecord beforeEvent3 = new BeforeOperationEventRecord(7L, 1L, 5,
-				0, "test.package.Clazz.D()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.D()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent3.setRuntimeStatisticInformation(new RuntimeStatisticInformation(9L));
 		traceEvents.add(beforeEvent3);
 
 		final BeforeOperationEventRecord beforeEvent4 = new BeforeOperationEventRecord(8L, 1L, 6,
-				0, "test.package.Clazz.E()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.E()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent4.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent4);
 
 		final AfterOperationEventRecord afterEvent4 = new AfterOperationEventRecord(9L, 1L, 7,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent4);
 
 		final BeforeOperationEventRecord beforeEvent5 = new BeforeOperationEventRecord(10L, 1L, 8,
-				0, "test.package.Clazz.F()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.F()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent5.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent5);
 
 		final AfterOperationEventRecord afterEvent5 = new AfterOperationEventRecord(11L, 1L, 9,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent5);
 
 		final BeforeOperationEventRecord beforeEvent6 = new BeforeOperationEventRecord(12L, 1L, 10,
-				0, "test.package.Clazz.E()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.E()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent6.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent6);
 
 		final AfterOperationEventRecord afterEvent6 = new AfterOperationEventRecord(13L, 1L, 11,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent6);
 
 		final BeforeOperationEventRecord beforeEvent7 = new BeforeOperationEventRecord(14L, 1L, 12,
-				0, "test.package.Clazz.F()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.F()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent7.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent7);
 
 		final AfterOperationEventRecord afterEvent7 = new AfterOperationEventRecord(15L, 1L, 13,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent7);
 
 		final AfterOperationEventRecord afterEvent3 = new AfterOperationEventRecord(16L, 1L, 14,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent3);
 
 		final BeforeOperationEventRecord beforeEvent8 = new BeforeOperationEventRecord(17L, 1L, 15,
-				0, "test.package.Clazz.B()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.B()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent8.setRuntimeStatisticInformation(new RuntimeStatisticInformation(2L));
 		traceEvents.add(beforeEvent8);
 
 		final AfterOperationEventRecord afterEvent8 = new AfterOperationEventRecord(19L, 1L, 16,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent8);
 
 		final BeforeOperationEventRecord beforeEvent9 = new BeforeOperationEventRecord(20L, 1L, 17,
-				0, "test.package.Clazz.C()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.C()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent9.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent9);
 
 		final AfterOperationEventRecord afterEvent9 = new AfterOperationEventRecord(21L, 1L, 18,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent9);
 
 		final BeforeOperationEventRecord beforeEvent10 = new BeforeOperationEventRecord(22L, 1L,
-				19, 0, "test.package.Clazz.D()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				19, 0, "test.package.Clazz.D()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent10.setRuntimeStatisticInformation(new RuntimeStatisticInformation(9L));
 		traceEvents.add(beforeEvent10);
 
 		final BeforeOperationEventRecord beforeEvent11 = new BeforeOperationEventRecord(23L, 1L,
-				20, 0, "test.package.Clazz.E()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				20, 0, "test.package.Clazz.E()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent11.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent11);
 
 		final AfterOperationEventRecord afterEvent11 = new AfterOperationEventRecord(24L, 1L, 21,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent11);
 
 		final BeforeOperationEventRecord beforeEvent12 = new BeforeOperationEventRecord(25L, 1L,
-				22, 0, "test.package.Clazz.F()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				22, 0, "test.package.Clazz.F()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent12.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent12);
 
 		final AfterOperationEventRecord afterEvent12 = new AfterOperationEventRecord(26L, 1L, 23,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent12);
 
 		final BeforeOperationEventRecord beforeEvent13 = new BeforeOperationEventRecord(27L, 1L,
-				24, 0, "test.package.Clazz.E()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				24, 0, "test.package.Clazz.E()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent13.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent13);
 
 		final AfterOperationEventRecord afterEvent13 = new AfterOperationEventRecord(28L, 1L, 25,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent13);
 
 		final BeforeOperationEventRecord beforeEvent14 = new BeforeOperationEventRecord(29L, 1L,
-				26, 0, "test.package.Clazz.F()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				26, 0, "test.package.Clazz.F()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent14.setRuntimeStatisticInformation(new RuntimeStatisticInformation(1L));
 		traceEvents.add(beforeEvent14);
 
 		final AfterOperationEventRecord afterEvent14 = new AfterOperationEventRecord(30L, 1L, 27,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent14);
 
 		final AfterOperationEventRecord afterEvent10 = new AfterOperationEventRecord(31L, 1L, 28,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent10);
 
 		final AfterOperationEventRecord afterEvent = new AfterOperationEventRecord(32L, 1L, 29,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent);
 
 		// trace = new Trace(traceEvents, true);
@@ -175,62 +176,63 @@ public class PatternSummarizationTest {
 		final List<AbstractEventRecord> traceEvents = new ArrayList<AbstractEventRecord>();
 
 		final BeforeOperationEventRecord beforeEvent = new BeforeOperationEventRecord(1L, 1L, 0, 0,
-				"test.package.Clazz.A()", new HostApplicationMetaDataRecord("host", "application"));
+				"test.package.Clazz.A()", new HostApplicationMetaDataRecord("testSystem", "testIp",
+						"host", "application"));
 		beforeEvent.setRuntimeStatisticInformation(new RuntimeStatisticInformation(31L));
 		traceEvents.add(beforeEvent);
 
 		final BeforeOperationEventRecord beforeEvent1 = new BeforeOperationEventRecord(2L, 1L, 1,
-				0, "test.package.Clazz.B()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.B()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent1.setRuntimeStatisticInformation(new RuntimeStatisticInformation(2, 4, 8));
 		traceEvents.add(beforeEvent1);
 
 		final AfterOperationEventRecord afterEvent1 = new AfterOperationEventRecord(4L, 1L, 2,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent1);
 
 		final BeforeOperationEventRecord beforeEvent2 = new BeforeOperationEventRecord(5L, 1L, 3,
-				0, "test.package.Clazz.C()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.C()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent2.setRuntimeStatisticInformation(new RuntimeStatisticInformation(2, 2, 2));
 		traceEvents.add(beforeEvent2);
 
 		final AfterOperationEventRecord afterEvent2 = new AfterOperationEventRecord(6L, 1L, 4,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent2);
 
 		final BeforeOperationEventRecord beforeEvent3 = new BeforeOperationEventRecord(7L, 1L, 5,
-				0, "test.package.Clazz.D()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.D()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent3.setRuntimeStatisticInformation(new RuntimeStatisticInformation(2, 18, 162));
 		traceEvents.add(beforeEvent3);
 
 		final BeforeOperationEventRecord beforeEvent4 = new BeforeOperationEventRecord(8L, 1L, 6,
-				0, "test.package.Clazz.E()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.E()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent4.setRuntimeStatisticInformation(new RuntimeStatisticInformation(4, 4, 4));
 		traceEvents.add(beforeEvent4);
 
 		final AfterOperationEventRecord afterEvent4 = new AfterOperationEventRecord(9L, 1L, 7,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent4);
 
 		final BeforeOperationEventRecord beforeEvent5 = new BeforeOperationEventRecord(10L, 1L, 8,
-				0, "test.package.Clazz.F()", new HostApplicationMetaDataRecord("host",
-						"application"));
+				0, "test.package.Clazz.F()", new HostApplicationMetaDataRecord("testSystem",
+						"testIp", "host", "application"));
 		beforeEvent5.setRuntimeStatisticInformation(new RuntimeStatisticInformation(4, 4, 4));
 		traceEvents.add(beforeEvent5);
 
 		final AfterOperationEventRecord afterEvent5 = new AfterOperationEventRecord(11L, 1L, 9,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent5);
 
 		final AfterOperationEventRecord afterEvent3 = new AfterOperationEventRecord(16L, 1L, 14,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent3);
 
 		final AfterOperationEventRecord afterEvent = new AfterOperationEventRecord(32L, 1L, 29,
-				new HostApplicationMetaDataRecord("host", "application"));
+				new HostApplicationMetaDataRecord("testSystem", "testIp", "host", "application"));
 		traceEvents.add(afterEvent);
 
 		// final Trace compareTrace = new Trace(traceEvents, true);
-- 
GitLab