Skip to content
Snippets Groups Projects
Commit 45dc1649 authored by Jürgen Walter's avatar Jürgen Walter
Browse files

renamings

not committed in previous commits
parent 62e257b0
No related branches found
No related tags found
No related merge requests found
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();
}
}
}
package tools.descartes.dql.connector.kieker.filter;
package tools.descartes.dql.connector.kieker.util;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
......
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);
......
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;
......
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);
}
}
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;
}
}
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment