From 5f05794a56a0b92eaf587146c570277f02c60336 Mon Sep 17 00:00:00 2001
From: Simon Spinner <simon.spinner@uni-wuerzburg.de>
Date: Thu, 2 Jun 2016 18:08:30 +0200
Subject: [PATCH] Correctly set interval of ComponentSensors.

---
 .../tools/descartes/prisma/agent/wildfly/Constants.java     | 2 ++
 .../agent/wildfly/service/ModelExtractionService.java       | 2 ++
 .../prisma/agent/wildfly/service/MonitoringService.java     | 6 +++---
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/Constants.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/Constants.java
index a0ce3b6..55c3dce 100644
--- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/Constants.java
+++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/Constants.java
@@ -28,4 +28,6 @@ package tools.descartes.prisma.agent.wildfly;
 
 public class Constants {
 	 public static final long NANOS_IN_MILLIS = 1000000;
+
+	public static final long MONITORING_INTERVAL_IN_MILLIS = 60000;
 }
diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/ModelExtractionService.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/ModelExtractionService.java
index 2cde662..5a8f64a 100644
--- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/ModelExtractionService.java
+++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/ModelExtractionService.java
@@ -87,6 +87,7 @@ import tools.descartes.librede.units.Dimension;
 import tools.descartes.librede.units.RequestCount;
 import tools.descartes.librede.units.Time;
 import tools.descartes.librede.units.Unit;
+import tools.descartes.prisma.agent.wildfly.Constants;
 import tools.descartes.prisma.agent.wildfly.callstack.ComponentRecord;
 import tools.descartes.prisma.agent.wildfly.callstack.InvocationRecord;
 import tools.descartes.prisma.agent.wildfly.callstack.OperationRecord;
@@ -610,6 +611,7 @@ public class ModelExtractionService extends AgentController implements Service<M
 		ComponentSensor<D> sensor = SensorFactory.eINSTANCE.createComponentSensor();
 		sensor.setMetric(metric);
 		sensor.setUnit(unit);
+		sensor.setInterval(Constants.MONITORING_INTERVAL_IN_MILLIS);
 		sensor.setAggregation(aggregation);
 		sensor.setComponentInstance(ref);
 		sensor.setInterfaceProvidingRole(role);
diff --git a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/MonitoringService.java b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/MonitoringService.java
index fb002e0..782bfc9 100644
--- a/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/MonitoringService.java
+++ b/tools.descartes.prisma.agent.wildfly/src/main/java/tools/descartes/prisma/agent/wildfly/service/MonitoringService.java
@@ -49,6 +49,7 @@ import org.jboss.msc.service.StartException;
 import org.jboss.msc.service.StopContext;
 import org.jboss.msc.value.InjectedValue;
 
+import tools.descartes.prisma.agent.wildfly.Constants;
 import tools.descartes.prisma.agent.wildfly.callstack.ComponentRecord;
 import tools.descartes.prisma.agent.wildfly.callstack.InvocationRecord;
 import tools.descartes.prisma.agent.wildfly.callstack.OperationRecord;
@@ -75,8 +76,6 @@ public class MonitoringService extends AgentController implements Service<Monito
 	
 	public static final MonitoringService INSTANCE = new MonitoringService();
 	
-	private static final long WRITE_INTERVAL = 60;
-	
 	private final ConcurrentHashMap<Long, Long> threads = new ConcurrentHashMap<Long, Long>();
 	
 	private List<InjectedValue<ParameterCharacterizationService>> paramCharacterizations = new CopyOnWriteArrayList<>();
@@ -139,7 +138,8 @@ public class MonitoringService extends AgentController implements Service<Monito
 		try {
 			start().get();
 			applicationScope = (ApplicationScope) getContainerScope();
-			scheduleAtIntervalBounds(new OutputWriter(), WRITE_INTERVAL, TimeUnit.SECONDS);
+			scheduleAtIntervalBounds(new OutputWriter(), Constants.MONITORING_INTERVAL_IN_MILLIS,
+					TimeUnit.MILLISECONDS);
 		} catch (InterruptedException | ExecutionException | IOException e) {
 			log.error("Error starting agent.", e);
 		}
-- 
GitLab