adaptive-monitoring-framework

initial support for BNF

11/11/2020 11:44:30 AM
0.10.0-SNAPSHOT

Details

diff --git a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/configuration/types/RepositoryType.java b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/configuration/types/RepositoryType.java
index c78f34f..d4b831a 100644
--- a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/configuration/types/RepositoryType.java
+++ b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/configuration/types/RepositoryType.java
@@ -4,22 +4,22 @@ package br.ufrgs.inf.prosoft.tigris.configuration.types;
  * The enum Repository type.
  */
 public enum RepositoryType {
+
     /**
      * Mongodb repository type.
      */
     MONGODB,
+
     /**
      * Textfile repository type.
      */
     TEXTFILE,
+
     /**
      * The Memory.
      */
-    @Deprecated MEMORY,
-    /**
-     * The Console.
-     */
-    @Deprecated CONSOLE,
+    MEMORY,
+
     /**
      * Redis repository type.
      */
diff --git a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/dsl/Criteria.java b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/dsl/Criteria.java
new file mode 100644
index 0000000..230a025
--- /dev/null
+++ b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/dsl/Criteria.java
@@ -0,0 +1,5 @@
+package br.ufrgs.inf.prosoft.tigris.dsl;
+
+public enum Criteria {
+    FREQUENCY, EXPENSIVENESS, CHANGEABILITY
+}
diff --git a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/dsl/Modifier.java b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/dsl/Modifier.java
new file mode 100644
index 0000000..65b1a4c
--- /dev/null
+++ b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/dsl/Modifier.java
@@ -0,0 +1,4 @@
+package br.ufrgs.inf.prosoft.tigris.dsl;
+
+public enum Modifier {
+}
diff --git a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/dsl/Operator.java b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/dsl/Operator.java
new file mode 100644
index 0000000..a620dd4
--- /dev/null
+++ b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/dsl/Operator.java
@@ -0,0 +1,5 @@
+package br.ufrgs.inf.prosoft.tigris.dsl;
+
+public enum Operator {
+    NONE, MORE, LESS, MOST, LEAST
+}
diff --git a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/metrics/DataFiltering.java b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/metrics/DataFiltering.java
index 7aad561..e473114 100644
--- a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/metrics/DataFiltering.java
+++ b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/metrics/DataFiltering.java
@@ -98,7 +98,8 @@ public class DataFiltering {
         logger.info("Calculating relevance for {} events", metrics.size());
         for (Map.Entry<String, LightweightMetrics> method : metrics.entrySet()) {
             logger.debug("Calculating relevance for {}...", method.getKey());
-            if (extendedFilter(method.getValue())) {
+            if (restrictedFilter(method.getValue())) {
+//            if (extendedFilter(method.getValue())) {
                 relevantEvents.add(method.getKey());
             }
         }
diff --git a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/monitoring/aspects/MonitorAspect.java b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/monitoring/aspects/MonitorAspect.java
index 94c81da..c5565bc 100644
--- a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/monitoring/aspects/MonitorAspect.java
+++ b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/monitoring/aspects/MonitorAspect.java
@@ -15,7 +15,7 @@ public class MonitorAspect {
             //any execution except the own framework
             "(execution(!void *(..)) && !within(br.ufrgs.inf.prosoft..*) " +
                     //avoid calls from repository while serializing objects, it is necessary if a hash could not be used
-                    "&& !cflow(call(* br.ufrgs.inf.prosoft.tigris.monitoring.storage..*(..))) " +
+                    //"&& !cflow(call(* br.ufrgs.inf.prosoft.tigris.monitoring.storage..*(..))) " +
                     //conditional to enable and disable at runtime
                     "&& if())"
     )
diff --git a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/monitoring/storage/providers/MemoryRepository.java b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/monitoring/storage/providers/MemoryRepository.java
index 6aa66d2..8675082 100644
--- a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/monitoring/storage/providers/MemoryRepository.java
+++ b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/monitoring/storage/providers/MemoryRepository.java
@@ -33,7 +33,7 @@ public class MemoryRepository<T> implements Repository<T> {
 
     @Override
     public List<T> findAll() {
-        return logs;
+        return new ArrayList<T>(logs);
     }
 
     @Override
@@ -43,6 +43,6 @@ public class MemoryRepository<T> implements Repository<T> {
 
     @Override
     public void saveAll(List<T> toSave) {
-
+        logs.addAll(toSave);
     }
 }
diff --git a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/monitoring/storage/RepositoryFactory.java b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/monitoring/storage/RepositoryFactory.java
index 8b17ddd..7ed14fb 100644
--- a/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/monitoring/storage/RepositoryFactory.java
+++ b/tigris/src/main/java/br/ufrgs/inf/prosoft/tigris/monitoring/storage/RepositoryFactory.java
@@ -4,7 +4,6 @@ import br.ufrgs.inf.prosoft.tigris.configuration.types.RepositoryType;
 import br.ufrgs.inf.prosoft.tigris.exceptions.StorageException;
 import br.ufrgs.inf.prosoft.tigris.monitoring.metadata.LogTrace;
 import br.ufrgs.inf.prosoft.tigris.monitoring.storage.providers.AsyncFileRepository;
-import br.ufrgs.inf.prosoft.tigris.monitoring.storage.providers.ConsoleRepository;
 import br.ufrgs.inf.prosoft.tigris.monitoring.storage.providers.MemoryRepository;
 import br.ufrgs.inf.prosoft.tigris.monitoring.storage.providers.MongoRepository;
 import br.ufrgs.inf.prosoft.tigris.monitoring.storage.providers.RedisRepository;
@@ -60,9 +59,6 @@ public class RepositoryFactory {
             case MEMORY:
                 logger.warn("Repository is configured to save logs in Memory, which is not recommended because it can take too much from the application.");
                 return new MemoryRepository<LogTrace>();
-            case CONSOLE:
-                logger.warn("Repository is configured to just show logs in console. Nothing will be recorded");
-                return new ConsoleRepository<LogTrace>();
             default:
                 throw new StorageException("The specified repository type [" + repositoryType +"] does not have an available implementation.");
         }