Skip to content
Snippets Groups Projects
Commit 9901c5e4 authored by Sören Henning's avatar Sören Henning
Browse files

begin migration to new graph model

parent c0d663c9
No related branches found
No related tags found
2 merge requests!17Get impletemented stages and Java 8,!16Trace aggr analysis graph migration
Pipeline #
...@@ -7,14 +7,13 @@ import java.io.File; ...@@ -7,14 +7,13 @@ import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.tinkerpop.blueprints.Graph;
import kieker.analysis.dev.DependencyCreatorStage; import kieker.analysis.dev.DependencyCreatorStage;
import kieker.analysis.dev.DependencyStatisticsDecoratorStage; import kieker.analysis.dev.DependencyStatisticsDecoratorStage;
import kieker.analysis.domain.AggregatedOperationCall; import kieker.analysis.domain.AggregatedOperationCall;
import kieker.analysis.domain.AggregatedTrace; import kieker.analysis.domain.AggregatedTrace;
import kieker.analysis.domain.OperationCall; import kieker.analysis.domain.OperationCall;
import kieker.analysis.domain.Trace; import kieker.analysis.domain.Trace;
import kieker.analysis.graph.Graph;
import kieker.analysis.stage.tracediagnosis.AllowedRecordsFilter; import kieker.analysis.stage.tracediagnosis.AllowedRecordsFilter;
import kieker.analysis.stage.tracediagnosis.BeginEndOfMonitoringDetector; import kieker.analysis.stage.tracediagnosis.BeginEndOfMonitoringDetector;
import kieker.analysis.stage.tracediagnosis.OperationCallHandlerComposite; import kieker.analysis.stage.tracediagnosis.OperationCallHandlerComposite;
...@@ -25,7 +24,6 @@ import kieker.analysis.trace.graphoutput.DotGraphWriter; ...@@ -25,7 +24,6 @@ import kieker.analysis.trace.graphoutput.DotGraphWriter;
import kieker.analysis.trace.graphoutput.GraphMLWriter; import kieker.analysis.trace.graphoutput.GraphMLWriter;
import kieker.analysis.trace.traversal.AggrTraceTraverserStage; import kieker.analysis.trace.traversal.AggrTraceTraverserStage;
import kieker.analysis.trace.traversal.TraceTraverserStage; import kieker.analysis.trace.traversal.TraceTraverserStage;
import kieker.analysis.util.graph.NamedGraph;
import kieker.common.record.IMonitoringRecord; import kieker.common.record.IMonitoringRecord;
import kieker.common.record.misc.KiekerMetadataRecord; import kieker.common.record.misc.KiekerMetadataRecord;
...@@ -78,18 +76,18 @@ public class TraceAnalysisConfiguration extends Configuration { ...@@ -78,18 +76,18 @@ public class TraceAnalysisConfiguration extends Configuration {
String graphFilesOutputDir = "example/event monitoring log/output"; // TODO Temp hard coded String graphFilesOutputDir = "example/event monitoring log/output"; // TODO Temp hard coded
TraceTraverserStage traceTraverserStage = new TraceTraverserStage(); TraceTraverserStage traceTraverserStage = new TraceTraverserStage();
final Distributor<NamedGraph<Graph>> graphDistributor = new Distributor<>(new CopyByReferenceStrategy()); final Distributor<Graph> graphDistributor = new Distributor<>(new CopyByReferenceStrategy());
GraphMLWriter graphMLWriter = new GraphMLWriter(graphFilesOutputDir); GraphMLWriter graphMLWriter = new GraphMLWriter(graphFilesOutputDir);
DotGraphWriter dotGraphWriter = new DotGraphWriter(graphFilesOutputDir); DotGraphWriter dotGraphWriter = new DotGraphWriter(graphFilesOutputDir);
super.connectPorts(distributor.getNewOutputPort(), traceTraverserStage.getInputPort()); super.connectPorts(distributor.getNewOutputPort(), traceTraverserStage.getInputPort());
super.connectPorts(traceTraverserStage.getOutputPort(), graphDistributor.getInputPort()); super.connectPorts(traceTraverserStage.getOutputPort(), graphDistributor.getInputPort());
super.connectPorts(graphDistributor.getNewOutputPort(), graphMLWriter.getInputPort()); // super.connectPorts(graphDistributor.getNewOutputPort(), graphMLWriter.getInputPort());
super.connectPorts(graphDistributor.getNewOutputPort(), dotGraphWriter.getInputPort()); // super.connectPorts(graphDistributor.getNewOutputPort(), dotGraphWriter.getInputPort());
final Distributor<AggregatedTrace> aggregatedTraceDistributor = new Distributor<>(new CopyByReferenceStrategy()); final Distributor<AggregatedTrace> aggregatedTraceDistributor = new Distributor<>(new CopyByReferenceStrategy());
AggrTraceTraverserStage aggrTraceTraverser = new AggrTraceTraverserStage(); AggrTraceTraverserStage aggrTraceTraverser = new AggrTraceTraverserStage();
final Distributor<NamedGraph<Graph>> graphDistributor2 = new Distributor<>(new CopyByReferenceStrategy()); final Distributor<Graph> graphDistributor2 = new Distributor<>(new CopyByReferenceStrategy());
GraphMLWriter graphMLWriter2 = new GraphMLWriter(graphFilesOutputDir); GraphMLWriter graphMLWriter2 = new GraphMLWriter(graphFilesOutputDir);
DotGraphWriter dotGraphWriter2 = new DotGraphWriter(graphFilesOutputDir); DotGraphWriter dotGraphWriter2 = new DotGraphWriter(graphFilesOutputDir);
...@@ -97,8 +95,8 @@ public class TraceAnalysisConfiguration extends Configuration { ...@@ -97,8 +95,8 @@ public class TraceAnalysisConfiguration extends Configuration {
super.connectPorts(aggregatedTraceDistributor.getNewOutputPort(), aggrTraceTraverser.getInputPort()); super.connectPorts(aggregatedTraceDistributor.getNewOutputPort(), aggrTraceTraverser.getInputPort());
super.connectPorts(aggrTraceTraverser.getOutputPort(), graphDistributor2.getInputPort()); super.connectPorts(aggrTraceTraverser.getOutputPort(), graphDistributor2.getInputPort());
super.connectPorts(graphDistributor2.getNewOutputPort(), graphMLWriter2.getInputPort()); // super.connectPorts(graphDistributor2.getNewOutputPort(), graphMLWriter2.getInputPort());
super.connectPorts(graphDistributor2.getNewOutputPort(), dotGraphWriter2.getInputPort()); // super.connectPorts(graphDistributor2.getNewOutputPort(), dotGraphWriter2.getInputPort());
DependencyCreatorStage dependencyCreatorStage = new DependencyCreatorStage(); DependencyCreatorStage dependencyCreatorStage = new DependencyCreatorStage();
DependencyStatisticsDecoratorStage dependencyStatisticsDecoratorStage = new DependencyStatisticsDecoratorStage(); DependencyStatisticsDecoratorStage dependencyStatisticsDecoratorStage = new DependencyStatisticsDecoratorStage();
......
package kieker.analysis.trace.traversal; package kieker.analysis.trace.traversal;
import com.tinkerpop.blueprints.Edge;
import com.tinkerpop.blueprints.Graph;
import com.tinkerpop.blueprints.Vertex;
import com.tinkerpop.blueprints.impls.tg.TinkerGraph;
import kieker.analysis.domain.AbstractOperationCall; import kieker.analysis.domain.AbstractOperationCall;
import kieker.analysis.graph.Edge;
import kieker.analysis.graph.Graph;
import kieker.analysis.graph.Vertex;
import kieker.analysis.graph.impl.GraphImpl;
public abstract class AbstractTraceToGraphTransformer<C extends AbstractOperationCall<C>> extends OperationCallVisitor<C> { public abstract class AbstractTraceToGraphTransformer<C extends AbstractOperationCall<C>> extends OperationCallVisitor<C> {
...@@ -18,7 +17,7 @@ public abstract class AbstractTraceToGraphTransformer<C extends AbstractOperatio ...@@ -18,7 +17,7 @@ public abstract class AbstractTraceToGraphTransformer<C extends AbstractOperatio
public AbstractTraceToGraphTransformer(final C rootOperartionCall) { public AbstractTraceToGraphTransformer(final C rootOperartionCall) {
super(); super();
this.graph = new TinkerGraph(); this.graph = new GraphImpl();
this.rootOperationCall = rootOperartionCall; this.rootOperationCall = rootOperartionCall;
} }
...@@ -54,7 +53,8 @@ public abstract class AbstractTraceToGraphTransformer<C extends AbstractOperatio ...@@ -54,7 +53,8 @@ public abstract class AbstractTraceToGraphTransformer<C extends AbstractOperatio
final Vertex rootVertex = graph.addVertex("Entry"); final Vertex rootVertex = graph.addVertex("Entry");
rootVertex.setProperty("label", "'Entry'"); rootVertex.setProperty("label", "'Entry'");
graph.addEdge(null, rootVertex, realRootVertex, "1."); Edge edge = graph.addEdge(null, rootVertex, realRootVertex);
edge.setProperty("label", "1.");
} }
......
package kieker.analysis.trace.traversal; package kieker.analysis.trace.traversal;
import com.tinkerpop.blueprints.Edge;
import com.tinkerpop.blueprints.Vertex;
import kieker.analysis.domain.AggregatedOperationCall; import kieker.analysis.domain.AggregatedOperationCall;
import kieker.analysis.graph.Edge;
import kieker.analysis.graph.Vertex;
import kieker.analysis.util.NameConverter; import kieker.analysis.util.NameConverter;
public class AggrTraceToGraphTransformer extends AbstractTraceToGraphTransformer<AggregatedOperationCall> { public class AggrTraceToGraphTransformer extends AbstractTraceToGraphTransformer<AggregatedOperationCall> {
...@@ -49,7 +48,9 @@ public class AggrTraceToGraphTransformer extends AbstractTraceToGraphTransformer ...@@ -49,7 +48,9 @@ public class AggrTraceToGraphTransformer extends AbstractTraceToGraphTransformer
return null; return null;
} }
return graph.addEdge(null, parentVertex, thisVertex, String.valueOf(operationCall.getOrderIndex() + 1) + '.'); final Edge edge = graph.addEdge(null, parentVertex, thisVertex);
edge.setProperty("label", String.valueOf(operationCall.getOrderIndex() + 1) + '.');
return edge;
} }
} }
package kieker.analysis.trace.traversal; package kieker.analysis.trace.traversal;
import com.tinkerpop.blueprints.Graph;
import kieker.analysis.domain.AggregatedOperationCall; import kieker.analysis.domain.AggregatedOperationCall;
import kieker.analysis.domain.AggregatedTrace; import kieker.analysis.domain.AggregatedTrace;
import kieker.analysis.util.graph.NamedGraph; import kieker.analysis.graph.Graph;
import teetime.stage.basic.AbstractTransformation; import teetime.stage.basic.AbstractTransformation;
public class AggrTraceTraverserStage extends AbstractTransformation<AggregatedTrace, NamedGraph<Graph>> { public class AggrTraceTraverserStage extends AbstractTransformation<AggregatedTrace, Graph> {
@Override @Override
protected void execute(final AggregatedTrace trace) { protected void execute(final AggregatedTrace trace) {
...@@ -21,7 +19,8 @@ public class AggrTraceTraverserStage extends AbstractTransformation<AggregatedTr ...@@ -21,7 +19,8 @@ public class AggrTraceTraverserStage extends AbstractTransformation<AggregatedTr
final String name = "aggr-trace-" + trace.hashCode(); final String name = "aggr-trace-" + trace.hashCode();
final NamedGraph<Graph> graph = new NamedGraph<>(name, name, aggrTrace2Blueprint.getGraph()); final Graph graph = aggrTrace2Blueprint.getGraph();
graph.setName(name);
this.getOutputPort().send(graph); this.getOutputPort().send(graph);
} }
......
package kieker.analysis.trace.traversal; package kieker.analysis.trace.traversal;
import com.tinkerpop.blueprints.Edge;
import com.tinkerpop.blueprints.Vertex;
import kieker.analysis.domain.OperationCall; import kieker.analysis.domain.OperationCall;
import kieker.analysis.graph.Edge;
import kieker.analysis.graph.Vertex;
import kieker.analysis.util.NameConverter; import kieker.analysis.util.NameConverter;
public class TraceToGraphTransformer extends AbstractTraceToGraphTransformer<OperationCall> { public class TraceToGraphTransformer extends AbstractTraceToGraphTransformer<OperationCall> {
...@@ -48,7 +47,9 @@ public class TraceToGraphTransformer extends AbstractTraceToGraphTransformer<Ope ...@@ -48,7 +47,9 @@ public class TraceToGraphTransformer extends AbstractTraceToGraphTransformer<Ope
return null; return null;
} }
return graph.addEdge(null, parentVertex, thisVertex, String.valueOf(operationCall.getOrderIndex() + 1) + '.'); final Edge edge = graph.addEdge(null, parentVertex, thisVertex);
edge.setProperty("label", String.valueOf(operationCall.getOrderIndex() + 1) + '.');
return edge;
} }
} }
package kieker.analysis.trace.traversal; package kieker.analysis.trace.traversal;
import com.tinkerpop.blueprints.Graph;
import kieker.analysis.domain.OperationCall; import kieker.analysis.domain.OperationCall;
import kieker.analysis.domain.Trace; import kieker.analysis.domain.Trace;
import kieker.analysis.util.graph.NamedGraph; import kieker.analysis.graph.Graph;
import teetime.stage.basic.AbstractTransformation; import teetime.stage.basic.AbstractTransformation;
public class TraceTraverserStage extends AbstractTransformation<Trace, NamedGraph<Graph>> { public class TraceTraverserStage extends AbstractTransformation<Trace, Graph> {
@Override @Override
protected void execute(final Trace trace) { protected void execute(final Trace trace) {
...@@ -21,7 +19,8 @@ public class TraceTraverserStage extends AbstractTransformation<Trace, NamedGrap ...@@ -21,7 +19,8 @@ public class TraceTraverserStage extends AbstractTransformation<Trace, NamedGrap
final String name = "trace-" + trace.hashCode(); final String name = "trace-" + trace.hashCode();
final NamedGraph<Graph> graph = new NamedGraph<>(name, name, traceToGraph.getGraph()); final Graph graph = traceToGraph.getGraph();
graph.setName(name);
this.getOutputPort().send(graph); this.getOutputPort().send(graph);
} }
......
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