diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerReader.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerReader.java deleted file mode 100644 index 66bf6611aaae1e99f3eaf0bfe3af0e051e76d7d5..0000000000000000000000000000000000000000 --- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerReader.java +++ /dev/null @@ -1,69 +0,0 @@ -package tools.descartes.dql.connector.kieker.filter; - -import kieker.analysis.AnalysisController; -import kieker.analysis.IAnalysisController; -import kieker.analysis.exception.AnalysisConfigurationException; -import kieker.analysis.plugin.reader.filesystem.FSReader; -import kieker.common.configuration.Configuration;; - - -public class KiekerReader { - private final String[] inputDirs; - - public KiekerReader(String[] inputDirs) { - if (inputDirs.length == 0) { - System.out.println("No directory given as argument"); - System.exit(1); - } - this.inputDirs = inputDirs; - } - - public String[] getInputDirs() { - return inputDirs; - } - - public void read() { - - // Create Kieker.Analysis instance - final IAnalysisController analysisInstance = new AnalysisController(); - - // Set filesystem monitoring log input directory for our analysis - final Configuration readerConfiguration = new Configuration(); - readerConfiguration.setProperty(FSReader.CONFIG_PROPERTY_NAME_INPUTDIRS, Configuration.toProperty(inputDirs)); - final FSReader fsReader = new FSReader(readerConfiguration, analysisInstance); - - // Create and register our own consumer - - // final Configuration exTimeFilterConfig = new Configuration(); - - - final ResourceFilter resourceFilter = new ResourceFilter(new Configuration(), analysisInstance); - final UtilizationFilter utilizationFilter = new UtilizationFilter(new Configuration(), analysisInstance); - final ExecutionTimeFilter executionTimeFilter = new ExecutionTimeFilter(new Configuration(), analysisInstance); - final ClassAndInterfaceFilter responseTimeFilter = new ClassAndInterfaceFilter(new Configuration(), analysisInstance); - - - - try { - // Connect components. - - analysisInstance.connect(fsReader, FSReader.OUTPUT_PORT_NAME_RECORDS, resourceFilter, - resourceFilter.INPUT_PORT_NAME); - - analysisInstance.connect(fsReader, FSReader.OUTPUT_PORT_NAME_RECORDS, utilizationFilter, - utilizationFilter.INPUT_PORT_NAME); - - analysisInstance.connect(fsReader, FSReader.OUTPUT_PORT_NAME_RECORDS, executionTimeFilter, - executionTimeFilter.INPUT_PORT_NAME); - - analysisInstance.connect(fsReader, FSReader.OUTPUT_PORT_NAME_RECORDS, responseTimeFilter, - responseTimeFilter.INPUT_PORT_NAME); - - // Start the analysis - analysisInstance.run(); - } catch (final AnalysisConfigurationException e) { - e.printStackTrace(); - } - - } -} diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerAnalysisController.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerAnalysisController.java similarity index 98% rename from tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerAnalysisController.java rename to tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerAnalysisController.java index 944862c9f025557576ae37b1987956e727e32ea6..795da049e1858b037dc0b50747f2f9154d3dabc5 100644 --- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerAnalysisController.java +++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerAnalysisController.java @@ -1,4 +1,4 @@ -package tools.descartes.dql.connector.kieker.filter; +package tools.descartes.dql.connector.kieker.util; import java.io.BufferedInputStream; import java.io.FileInputStream; diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerHelper.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerHelper.java similarity index 98% rename from tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerHelper.java rename to tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerHelper.java index 12487c85780bed5ca2411e0aaf6c57a7b7ace93a..efbdee3e8b2c20c85894026efa7fb352d051a643 100644 --- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerHelper.java +++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerHelper.java @@ -1,4 +1,4 @@ -package tools.descartes.dql.connector.kieker; +package tools.descartes.dql.connector.kieker.util; import java.io.File; import java.io.FileInputStream; @@ -225,9 +225,9 @@ public class KiekerHelper { // convert ts to millis BigDecimal time = new BigDecimal( ((timeStamp - firstTimestamp) / 1000000.0)); - BigDecimal resVal = new BigDecimal(value); + BigDecimal responsetime = new BigDecimal(value / 1000000.0); e.setX(time); - e.setY(resVal); + e.setY(responsetime); return e; } @@ -248,7 +248,6 @@ public class KiekerHelper { String component = getComponentString(identifier); components.add(component); } - } return new ArrayList<String>(components); } @@ -282,6 +281,9 @@ public class KiekerHelper { int i = 0; for (Entity e : request.getEntities()) { if (e.getEntityType().equals("SERVICE")) { + if(e.getIdentifier().contains("session") || e.getAlias().contains("session")){ + continue; + } String component = getComponentString(e.getIdentifier()); String identifier = hostname + " & " + component; readerConfig.setProperty("COMPONENT_c" + i, identifier); diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerManager.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerManager.java similarity index 98% rename from tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerManager.java rename to tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerManager.java index fb1320e8058272a9707d64bee72c7cb2fdddf2ab..f063db61319007d130e7667ff90b98a25c69600f 100644 --- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/KiekerManager.java +++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerManager.java @@ -1,4 +1,4 @@ -package tools.descartes.dql.connector.kieker; +package tools.descartes.dql.connector.kieker.util; import java.io.BufferedReader; import java.io.File; @@ -12,7 +12,6 @@ import org.apache.log4j.Logger; import kieker.common.configuration.Configuration; import tools.descartes.dql.connector.kieker.configgenerator.XMLGenerationManager; -import tools.descartes.dql.connector.kieker.filter.KiekerAnalysisController; import tools.descartes.dql.connector.kieker.structures.Component; import tools.descartes.dql.connector.kieker.structures.Trace; import tools.descartes.dql.connector.kieker.structures.records.EventRecord; diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerReader.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerReader.java new file mode 100644 index 0000000000000000000000000000000000000000..3834215642e202281fe0f1d7e713c510e3cd05ab --- /dev/null +++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerReader.java @@ -0,0 +1,189 @@ +package tools.descartes.dql.connector.kieker.util; + +import java.util.concurrent.TimeUnit; + +import kieker.analysis.AnalysisController; +import kieker.analysis.IAnalysisController; +import kieker.analysis.analysisComponent.AbstractAnalysisComponent; +import kieker.analysis.exception.AnalysisConfigurationException; +import kieker.analysis.plugin.filter.flow.EventRecordTraceReconstructionFilter; +import kieker.analysis.plugin.filter.forward.StringBufferFilter; +import kieker.analysis.plugin.filter.select.TraceIdFilter; +import kieker.analysis.plugin.reader.filesystem.FSReader; +import kieker.analysis.repository.AbstractRepository; +import kieker.common.configuration.Configuration; +import kieker.tools.traceAnalysis.Constants; +import kieker.tools.traceAnalysis.filter.AbstractMessageTraceProcessingFilter; +import kieker.tools.traceAnalysis.filter.AbstractTraceAnalysisFilter; +import kieker.tools.traceAnalysis.filter.executionRecordTransformation.ExecutionRecordTransformationFilter; +import kieker.tools.traceAnalysis.filter.flow.EventRecordTraceCounter; +import kieker.tools.traceAnalysis.filter.flow.TraceEventRecords2ExecutionAndMessageTraceFilter; +import kieker.tools.traceAnalysis.filter.traceReconstruction.TraceReconstructionFilter; +import kieker.tools.traceAnalysis.systemModel.repository.SystemModelRepository; +import tools.descartes.dql.connector.kieker.filter.ClassAndInterfaceFilter; +import tools.descartes.dql.connector.kieker.filter.ExecutionTimeFilter; +import tools.descartes.dql.connector.kieker.filter.ResourceFilter; +import tools.descartes.dql.connector.kieker.filter.SessionFilter; +import tools.descartes.dql.connector.kieker.filter.UtilizationFilter;; + + +public class KiekerReader { + private final String[] inputDirs; + + public KiekerReader(String[] inputDirs) { + if (inputDirs.length == 0) { + System.out.println("No directory given as argument"); + System.exit(1); + } + this.inputDirs = inputDirs; + } + + public String[] getInputDirs() { + return inputDirs; + } + + public void read() { + + // Create Kieker.Analysis instance + final IAnalysisController analysisInstance = new AnalysisController(); + + // Set filesystem monitoring log input directory for our analysis + final Configuration readerConfiguration = new Configuration(); + readerConfiguration.setProperty(FSReader.CONFIG_PROPERTY_NAME_INPUTDIRS, Configuration.toProperty(inputDirs)); + final FSReader fsReader = new FSReader(readerConfiguration, analysisInstance); + + // Create and register our own consumer + + // final Configuration exTimeFilterConfig = new Configuration(); + + + final ResourceFilter resourceFilter = new ResourceFilter(new Configuration(), analysisInstance); + final UtilizationFilter utilizationFilter = new UtilizationFilter(new Configuration(), analysisInstance); + final ExecutionTimeFilter executionTimeFilter = new ExecutionTimeFilter(new Configuration(), analysisInstance); + final SessionFilter sessionFilter = new SessionFilter(new Configuration(), analysisInstance); + final ClassAndInterfaceFilter classAndInterfaceFilter = new ClassAndInterfaceFilter(new Configuration(), analysisInstance); + + + + try { + // Connect components. + + analysisInstance.connect(fsReader, FSReader.OUTPUT_PORT_NAME_RECORDS, resourceFilter, + resourceFilter.INPUT_PORT_NAME); + + analysisInstance.connect(fsReader, FSReader.OUTPUT_PORT_NAME_RECORDS, utilizationFilter, + utilizationFilter.INPUT_PORT_NAME); + + analysisInstance.connect(fsReader, FSReader.OUTPUT_PORT_NAME_RECORDS, executionTimeFilter, + executionTimeFilter.INPUT_PORT_NAME); + + analysisInstance.connect(fsReader, FSReader.OUTPUT_PORT_NAME_RECORDS, classAndInterfaceFilter, + classAndInterfaceFilter.INPUT_PORT_NAME); + + final SystemModelRepository systemModelRepository = new SystemModelRepository( + new Configuration(), analysisInstance); + addSessionFilter(analysisInstance, fsReader, systemModelRepository); + + // Start the analysis + analysisInstance.run(); + } catch (final AnalysisConfigurationException e) { + e.printStackTrace(); + } + + } + + private void addSessionFilter(IAnalysisController analysisController, FSReader reader, AbstractRepository systemModelRepository) throws IllegalStateException, AnalysisConfigurationException{ + TraceReconstructionFilter mtReconstrFilter = null; + EventRecordTraceReconstructionFilter eventTraceReconstructionFilter = null; + TraceEventRecords2ExecutionAndMessageTraceFilter traceEvents2ExecutionAndMessageTraceFilter = null; + + // Unify Strings + final StringBufferFilter stringBufferFilter = new StringBufferFilter(new Configuration(), analysisController); + analysisController.connect(reader, FSReader.OUTPUT_PORT_NAME_RECORDS, stringBufferFilter, + StringBufferFilter.INPUT_PORT_NAME_EVENTS); + + final ExecutionRecordTransformationFilter execRecTransformer; + { // NOCS (nested block) + // Create the execution record transformation filter and connect to + // the trace ID filter's output port + final Configuration execRecTransformerConfig = new Configuration(); + execRecTransformerConfig.setProperty(AbstractAnalysisComponent.CONFIG_NAME, + Constants.EXEC_TRACE_RECONSTR_COMPONENT_NAME); + execRecTransformer = new ExecutionRecordTransformationFilter(execRecTransformerConfig, analysisController); + analysisController.connect(reader, FSReader.OUTPUT_PORT_NAME_RECORDS, execRecTransformer, + ExecutionRecordTransformationFilter.INPUT_PORT_NAME_RECORDS); + analysisController.connect(execRecTransformer, + AbstractTraceAnalysisFilter.REPOSITORY_PORT_NAME_SYSTEM_MODEL, systemModelRepository); + } + + { // NOCS (nested block) + // Create the trace reconstruction filter and connect to the record + // transformation filter's output port + final Configuration mtReconstrFilterConfig = new Configuration(); + mtReconstrFilterConfig.setProperty(AbstractAnalysisComponent.CONFIG_NAME, + Constants.TRACERECONSTR_COMPONENT_NAME); + mtReconstrFilterConfig.setProperty(TraceReconstructionFilter.CONFIG_PROPERTY_NAME_TIMEUNIT, + TimeUnit.MILLISECONDS.name()); + // mtReconstrFilterConfig.setProperty(TraceReconstructionFilter.CONFIG_PROPERTY_NAME_MAX_TRACE_DURATION, + // Integer.toString(maxTraceDurationMillis)); + mtReconstrFilterConfig.setProperty(TraceReconstructionFilter.CONFIG_PROPERTY_NAME_IGNORE_INVALID_TRACES, + Boolean.toString(true)); + mtReconstrFilter = new TraceReconstructionFilter(mtReconstrFilterConfig, analysisController); + analysisController.connect(mtReconstrFilter, AbstractTraceAnalysisFilter.REPOSITORY_PORT_NAME_SYSTEM_MODEL, + systemModelRepository); + analysisController.connect(execRecTransformer, + ExecutionRecordTransformationFilter.OUTPUT_PORT_NAME_EXECUTIONS, mtReconstrFilter, + TraceReconstructionFilter.INPUT_PORT_NAME_EXECUTIONS); + } + + { // NOCS (nested block) + // Create the event record trace generation filter and connect to + // the trace ID filter's output port + final Configuration configurationEventRecordTraceGenerationFilter = new Configuration(); + configurationEventRecordTraceGenerationFilter.setProperty(AbstractAnalysisComponent.CONFIG_NAME, + Constants.EVENTRECORDTRACERECONSTR_COMPONENT_NAME); + configurationEventRecordTraceGenerationFilter.setProperty( + EventRecordTraceReconstructionFilter.CONFIG_PROPERTY_NAME_TIMEUNIT, TimeUnit.MILLISECONDS.name()); + // configurationEventRecordTraceGenerationFilter.setProperty(EventRecordTraceReconstructionFilter.CONFIG_PROPERTY_NAME_MAX_TRACE_DURATION, + // Long.toString(maxTraceDurationMillis)); + configurationEventRecordTraceGenerationFilter.setProperty( + EventRecordTraceReconstructionFilter.CONFIG_PROPERTY_NAME_REPAIR_EVENT_BASED_TRACES, + Boolean.toString(true)); + eventTraceReconstructionFilter = new EventRecordTraceReconstructionFilter( + configurationEventRecordTraceGenerationFilter, analysisController); + + analysisController.connect(reader, FSReader.OUTPUT_PORT_NAME_RECORDS, + eventTraceReconstructionFilter, EventRecordTraceReconstructionFilter.INPUT_PORT_NAME_TRACE_RECORDS); + } + + { // NOCS (nested block) + // Create the event trace to execution/message trace transformation + // filter and connect its input to the event record trace generation + // filter's output + // port + final Configuration configurationEventTrace2ExecutionTraceFilter = new Configuration(); + configurationEventTrace2ExecutionTraceFilter.setProperty(AbstractAnalysisComponent.CONFIG_NAME, + Constants.EXECTRACESFROMEVENTTRACES_COMPONENT_NAME); + // configurationEventTrace2ExecutionTraceFilter.setProperty(TraceEventRecords2ExecutionAndMessageTraceFilter.CONFIG_IGNORE_ASSUMED, + // Boolean.toString(ignoreAssumedCalls)); + // EventTrace2ExecutionTraceFilter has no configuration properties + traceEvents2ExecutionAndMessageTraceFilter = new TraceEventRecords2ExecutionAndMessageTraceFilter( + configurationEventTrace2ExecutionTraceFilter, analysisController); + + analysisController.connect(eventTraceReconstructionFilter, + EventRecordTraceReconstructionFilter.OUTPUT_PORT_NAME_TRACE_VALID, + traceEvents2ExecutionAndMessageTraceFilter, + TraceEventRecords2ExecutionAndMessageTraceFilter.INPUT_PORT_NAME_EVENT_TRACE); + analysisController.connect(traceEvents2ExecutionAndMessageTraceFilter, + AbstractTraceAnalysisFilter.REPOSITORY_PORT_NAME_SYSTEM_MODEL, systemModelRepository); + } + + + SessionFilter sessionFilter = new SessionFilter(new Configuration(), analysisController); + analysisController.connect(mtReconstrFilter, TraceReconstructionFilter.OUTPUT_PORT_NAME_MESSAGE_TRACE, + sessionFilter, AbstractMessageTraceProcessingFilter.INPUT_PORT_NAME_MESSAGE_TRACES); + analysisController.connect(traceEvents2ExecutionAndMessageTraceFilter, + TraceEventRecords2ExecutionAndMessageTraceFilter.OUTPUT_PORT_NAME_MESSAGE_TRACE, sessionFilter, + AbstractMessageTraceProcessingFilter.INPUT_PORT_NAME_MESSAGE_TRACES); + } +} diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerTraceLoader.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerTraceLoader.java similarity index 93% rename from tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerTraceLoader.java rename to tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerTraceLoader.java index 06f4e68153b6b40d33cccab5e9144d97605cd7e6..549f1fb688c58a953ad0b53ecdbf25391e269f58 100644 --- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/filter/KiekerTraceLoader.java +++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/KiekerTraceLoader.java @@ -1,58 +1,58 @@ -package tools.descartes.dql.connector.kieker.filter; - -import java.io.File; - -import tools.descartes.dql.connector.kieker.structures.Trace; -import tools.descartes.dql.connector.kieker.structures.classes.ClassMap; -import tools.descartes.dql.connector.kieker.structures.cpu.CpuMap; -import tools.descartes.dql.connector.kieker.structures.interfaces.InterfaceMap; -import tools.descartes.dql.connector.kieker.structures.resources.ResourceMap; - -public class KiekerTraceLoader { - private Trace trace; - - public KiekerTraceLoader(Trace trace) { - this.trace=trace; - } - - public KiekerTraceLoader() { - } - - public Trace loadKiekerTraceFromFile(File kiekerTraceFile) { - if (!(kiekerTraceFile == null || !kiekerTraceFile.canRead())) { - System.out.println("invalid filepath given, system will shutdown"); - System.exit(1); - } - String[] dir = new String[] { kiekerTraceFile.getAbsolutePath() }; - return loadKiekerTraceFromDirectories(dir); - } - - public Trace loadKiekerTraceFromDirectories(String[] kiekerInputDirs) { - clearMaps(); - KiekerReader kiekerReader = new KiekerReader(kiekerInputDirs); - kiekerReader.read(); - return fetchInformationFromMaps(); - } - - private void clearMaps(){ - ClassMap.getInstance().clear(); - InterfaceMap.getInstance().clear(); - ResourceMap.getInstance().clear(); - CpuMap.getInstance().clear(); - } - - private Trace fetchInformationFromMaps() { - if (trace == null) { - trace = new Trace(); - } - ClassMap.getInstance().pushToTrace(trace); - InterfaceMap.getInstance().pushToTrace(trace); - ResourceMap.getInstance().pushToTrace(trace); - CpuMap.getInstance().pushToTrace(trace); - // MemSwapMap.getInstance().pushToTrace(trace); - // more information can be included from other Maps - return trace; - } - - -} +package tools.descartes.dql.connector.kieker.util; + +import java.io.File; + +import tools.descartes.dql.connector.kieker.structures.Trace; +import tools.descartes.dql.connector.kieker.structures.classes.ClassMap; +import tools.descartes.dql.connector.kieker.structures.cpu.CpuMap; +import tools.descartes.dql.connector.kieker.structures.interfaces.InterfaceMap; +import tools.descartes.dql.connector.kieker.structures.resources.ResourceMap; + +public class KiekerTraceLoader { + private Trace trace; + + public KiekerTraceLoader(Trace trace) { + this.trace=trace; + } + + public KiekerTraceLoader() { + } + + public Trace loadKiekerTraceFromFile(File kiekerTraceFile) { + if (!(kiekerTraceFile == null || !kiekerTraceFile.canRead())) { + System.out.println("invalid filepath given, system will shutdown"); + System.exit(1); + } + String[] dir = new String[] { kiekerTraceFile.getAbsolutePath() }; + return loadKiekerTraceFromDirectories(dir); + } + + public Trace loadKiekerTraceFromDirectories(String[] kiekerInputDirs) { + clearMaps(); + KiekerReader kiekerReader = new KiekerReader(kiekerInputDirs); + kiekerReader.read(); + return fetchInformationFromMaps(); + } + + private void clearMaps(){ + ClassMap.getInstance().clear(); + InterfaceMap.getInstance().clear(); + ResourceMap.getInstance().clear(); + CpuMap.getInstance().clear(); + } + + private Trace fetchInformationFromMaps() { + if (trace == null) { + trace = new Trace(); + } + ClassMap.getInstance().pushToTrace(trace); + InterfaceMap.getInstance().pushToTrace(trace); + ResourceMap.getInstance().pushToTrace(trace); + CpuMap.getInstance().pushToTrace(trace); + // MemSwapMap.getInstance().pushToTrace(trace); + // more information can be included from other Maps + return trace; + } + + +} diff --git a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/ResourceMonitor.java b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/ResourceMonitor.java similarity index 90% rename from tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/ResourceMonitor.java rename to tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/ResourceMonitor.java index 0f7813754d73c10af562849525047be07753cae2..8abd9c588b45293eea96ccf1e3c7fa90e77d10b1 100644 --- a/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/ResourceMonitor.java +++ b/tools.descartes.dql.connector.kieker/src/tools/descartes/dql/connector/kieker/util/ResourceMonitor.java @@ -1,51 +1,51 @@ -package tools.descartes.dql.connector.kieker; - -import java.io.BufferedReader; -import java.io.File; -import java.io.InputStreamReader; -import java.util.concurrent.TimeUnit; - -import kieker.monitoring.core.controller.IMonitoringController; -import kieker.monitoring.core.controller.MonitoringController; -import kieker.monitoring.sampler.sigar.ISigarSamplerFactory; -import kieker.monitoring.sampler.sigar.SigarSamplerFactory; -import kieker.monitoring.sampler.sigar.samplers.CPUsDetailedPercSampler; -import kieker.monitoring.sampler.sigar.samplers.MemSwapUsageSampler; - -public final class ResourceMonitor { - static Process p; - - static void startResourceMonitor(String pathToKieker, String pathToConfig) - { - char quotationMarks = '"'; - try { - - String command = "java -cp " - +quotationMarks + pathToKieker +File.separator+ "lib"+File.separator+"*"+quotationMarks+";" - +quotationMarks + pathToKieker +File.separator+ "lib"+File.separator+"sigar"+File.separator+"*"+quotationMarks+";" - +quotationMarks + pathToKieker +File.separator+ "build"+File.separator+"libs"+File.separator+"*"+quotationMarks+";" - +quotationMarks + pathToConfig +File.separator+"*"+quotationMarks+";" - +quotationMarks + pathToKieker +File.separator+ "bin"+quotationMarks - +" kieker.tools.resourceMonitor.ResourceMonitor"; - - System.out.println("CMD:"+command); - p = Runtime.getRuntime() - .exec(command); - String line; - BufferedReader in = new BufferedReader(new InputStreamReader(p.getErrorStream())); - /*while ((line = in.readLine()) != null) { - System.out.println(line); - }*/ - in.close(); - } catch (Exception e) { - System.out.println(e.getMessage()); - e.printStackTrace(); - throw new IllegalStateException("Could not execute application with kieker"); - } - - } - - static void stopRessourceMonitor(){ - p.destroy(); - } +package tools.descartes.dql.connector.kieker.util; + +import java.io.BufferedReader; +import java.io.File; +import java.io.InputStreamReader; +import java.util.concurrent.TimeUnit; + +import kieker.monitoring.core.controller.IMonitoringController; +import kieker.monitoring.core.controller.MonitoringController; +import kieker.monitoring.sampler.sigar.ISigarSamplerFactory; +import kieker.monitoring.sampler.sigar.SigarSamplerFactory; +import kieker.monitoring.sampler.sigar.samplers.CPUsDetailedPercSampler; +import kieker.monitoring.sampler.sigar.samplers.MemSwapUsageSampler; + +public final class ResourceMonitor { + static Process p; + + public static void startResourceMonitor(String pathToKieker, String pathToConfig) + { + char quotationMarks = '"'; + try { + + String command = "java -cp " + +quotationMarks + pathToKieker +File.separator+ "lib"+File.separator+"*"+quotationMarks+";" + +quotationMarks + pathToKieker +File.separator+ "lib"+File.separator+"sigar"+File.separator+"*"+quotationMarks+";" + +quotationMarks + pathToKieker +File.separator+ "build"+File.separator+"libs"+File.separator+"*"+quotationMarks+";" + +quotationMarks + pathToConfig +File.separator+"*"+quotationMarks+";" + +quotationMarks + pathToKieker +File.separator+ "bin"+quotationMarks + +" kieker.tools.resourceMonitor.ResourceMonitor"; + + System.out.println("CMD:"+command); + p = Runtime.getRuntime() + .exec(command); + String line; + BufferedReader in = new BufferedReader(new InputStreamReader(p.getErrorStream())); + /*while ((line = in.readLine()) != null) { + System.out.println(line); + }*/ + in.close(); + } catch (Exception e) { + System.out.println(e.getMessage()); + e.printStackTrace(); + throw new IllegalStateException("Could not execute application with kieker"); + } + + } + + static void stopRessourceMonitor(){ + p.destroy(); + } } \ No newline at end of file