use of de.dagere.peass.config.MeasurementConfig in project peass by DaGeRe.
the class ContinuousMeasurementExecutor method createCopiedConfiguration.
private MeasurementConfig createCopiedConfiguration() {
MeasurementConfig copied = new MeasurementConfig(measurementConfig);
copied.setUseKieker(false);
return copied;
}
use of de.dagere.peass.config.MeasurementConfig in project peass by DaGeRe.
the class TestParallelMeasurement method testFiles.
@Test
public void testFiles() throws Exception {
try (MockedStatic<VersionControlSystem> mockedVCS = Mockito.mockStatic(VersionControlSystem.class);
MockedStatic<ExecutorCreator> mockedExecutor = Mockito.mockStatic(ExecutorCreator.class);
MockedStatic<GitUtils> gitUtils = Mockito.mockStatic(GitUtils.class)) {
VCSTestUtils.mockGetVCS(mockedVCS);
VCSTestUtils.mockGoToTagEmpty(gitUtils);
final PeassFolders folders = new PeassFolders(folder.getRoot());
final MeasurementConfig configuration = new MeasurementConfig(4, "2", "1");
configuration.setMeasurementStrategy(MeasurementStrategy.PARALLEL);
MavenTestExecutorMocker.mockExecutor(mockedExecutor, folders, configuration);
DependencyTester spiedTester = createTesterNoThreads(folders, configuration);
spiedTester.evaluate(TestDependencyTester.EXAMPLE_TESTCASE);
TestDependencyTester.checkResult(folders);
}
}
use of de.dagere.peass.config.MeasurementConfig in project peass by DaGeRe.
the class CauseTester method main.
public static void main(final String[] args) throws IOException, XmlPullParserException, InterruptedException, JAXBException, ClassNotFoundException {
final File projectFolder = new File("../../projekte/commons-fileupload");
final String version = "4ed6e923cb2033272fcb993978d69e325990a5aa";
final TestCase test = new TestCase("org.apache.commons.fileupload.ServletFileUploadTest", "testFoldedHeaders");
final MeasurementConfig config = new MeasurementConfig(15 * 1000 * 60, 15, true, version, version + "~1");
config.setUseKieker(true);
final CauseSearcherConfig causeConfig = new CauseSearcherConfig(test, false, 0.01, false, false, RCAStrategy.COMPLETE, 1);
final CauseTester manager = new CauseTester(new CauseSearchFolders(projectFolder), config, causeConfig, new EnvironmentVariables());
final CallTreeNode node = new CallTreeNode("FileUploadTestCase#parseUpload", "protected java.util.List org.apache.commons.fileupload.FileUploadTestCase.parseUpload(byte[],java.lang.String)", "protected java.util.List org.apache.commons.fileupload.FileUploadTestCase.parseUpload(byte[],java.lang.String)", config);
node.setOtherVersionNode(node);
final Set<CallTreeNode> nodes = new HashSet<>();
nodes.add(node);
manager.setIncludedMethods(nodes);
manager.runOnce(test, version, 0, new File("log"));
// manager.evaluate(test);
}
use of de.dagere.peass.config.MeasurementConfig in project peass by DaGeRe.
the class LevelCauseSearchExperimentalStarter method main.
public static void main(final String[] args) throws IOException, XmlPullParserException, InterruptedException, IllegalStateException, AnalysisConfigurationException, ViewNotFoundException, JAXBException {
final File projectFolder = new File("../../projekte/commons-fileupload");
final String version = "4ed6e923cb2033272fcb993978d69e325990a5aa";
final TestCase test = new TestCase("org.apache.commons.fileupload.ServletFileUploadTest", "testFoldedHeaders");
final MeasurementConfig measurementConfiguration = new MeasurementConfig(15 * 1000 * 60, 5, true, version, version + "~1");
measurementConfiguration.setUseKieker(true);
final CauseSearcherConfig causeSearcherConfig = new CauseSearcherConfig(test, false, 0.1, false, false, RCAStrategy.COMPLETE, 1);
final CauseSearchFolders folders2 = new CauseSearchFolders(projectFolder);
final BothTreeReader reader = new BothTreeReader(causeSearcherConfig, measurementConfiguration, folders2, new EnvironmentVariables());
final CauseTester measurer = new CauseTester(folders2, measurementConfiguration, causeSearcherConfig, new EnvironmentVariables());
final LevelCauseSearcher searcher = new LevelCauseSearcher(reader, causeSearcherConfig, measurer, measurementConfiguration, folders2, new EnvironmentVariables());
reader.readTrees();
List<CallTreeNode> predecessor = Arrays.asList(new CallTreeNode[] { reader.getRootPredecessor() });
List<CallTreeNode> current = Arrays.asList(new CallTreeNode[] { reader.getRootVersion() });
int level = 0;
boolean hasChilds = true;
while (hasChilds) {
level++;
LOG.info("Level: " + level + " " + predecessor.get(0).getKiekerPattern());
boolean foundNodeLevel = false;
final List<CallTreeNode> predecessorNew = new LinkedList<>();
final List<CallTreeNode> currentNew = new LinkedList<>();
final Iterator<CallTreeNode> currentIterator = current.iterator();
for (final Iterator<CallTreeNode> preIterator = predecessor.iterator(); preIterator.hasNext() && currentIterator.hasNext(); ) {
final CallTreeNode predecessorChild = preIterator.next();
final CallTreeNode currentChild = currentIterator.next();
predecessorNew.addAll(predecessorChild.getChildren());
currentNew.addAll(currentChild.getChildren());
final String searchedCall = "public static long org.apache.commons.fileupload.util.Streams.copy(java.io.InputStream,java.io.OutputStream,boolean,byte[])";
if (predecessorChild.getKiekerPattern().equals(searchedCall) && currentChild.getKiekerPattern().equals(searchedCall)) {
foundNodeLevel = true;
}
if (predecessorChild.getKiekerPattern().equals(searchedCall) != currentChild.getKiekerPattern().equals(searchedCall)) {
LOG.info(predecessorChild.getKiekerPattern());
LOG.info(currentChild.getKiekerPattern());
throw new RuntimeException("Tree structure differs above searched node!");
}
}
if (foundNodeLevel) {
LOG.info("Found!");
searcher.isLevelDifferent(predecessorNew, currentNew);
}
predecessor = predecessorNew;
current = currentNew;
if (predecessor.isEmpty()) {
hasChilds = false;
}
}
}
use of de.dagere.peass.config.MeasurementConfig in project peass by DaGeRe.
the class CauseSearchData method buildCurrentMap.
private void buildCurrentMap(final MeasuredNode node, final CallTreeNode parentStructure) {
final CallTreeNode nodeStructure = parentStructure != null ? parentStructure.appendChild(node.getCall(), node.getKiekerPattern(), node.getOtherKiekerPattern()) : new CallTreeNode(node.getCall(), node.getKiekerPattern(), node.getOtherKiekerPattern(), (MeasurementConfig) null);
current.put(nodeStructure, node);
for (final MeasuredNode child : node.getChilds()) {
buildCurrentMap(child, nodeStructure);
}
}
Aggregations