Search in sources :

Example 1 with XMLResultHandler

use of org.apache.phoenix.pherf.result.impl.XMLResultHandler in project phoenix by apache.

the class ResultTest method testResult.

@Test
public void testResult() throws Exception {
    String filename = "testresult";
    ResultHandler xmlResultHandler = new XMLResultHandler();
    xmlResultHandler.setResultFileDetails(ResultFileDetails.XML);
    xmlResultHandler.setResultFileName(filename);
    ResultManager resultManager = new ResultManager(filename, Arrays.asList(xmlResultHandler));
    assertTrue("Default Handlers were not initialized.", resultManager.getResultHandlers().size() > 0);
    // write result to file
    DataModelResult dataModelResult = setUpDataModelResult();
    resultManager.write(dataModelResult);
    // Put some stuff in a combined file
    List<DataModelResult> modelResults = new ArrayList<>();
    modelResults.add(dataModelResult);
    modelResults.add(dataModelResult);
    resultManager.write(modelResults);
    resultManager.flush();
    // read result from file
    List<Result> resultList = xmlResultHandler.read();
    ResultValue<DataModelResult> resultValue = resultList.get(0).getResultValues().get(0);
    DataModelResult dataModelResultFromFile = resultValue.getResultValue();
    ScenarioResult scenarioResultFromFile = dataModelResultFromFile.getScenarioResult().get(0);
    QuerySetResult querySetResultFromFile = scenarioResultFromFile.getQuerySetResult().get(0);
    QueryResult queryResultFromFile = querySetResultFromFile.getQueryResults().get(0);
    ThreadTime ttFromFile = queryResultFromFile.getThreadTimes().get(0);
    // thread level verification
    assertEquals(10, (int) ttFromFile.getMinTimeInMs().getElapsedDurationInMs());
    assertEquals(30, (int) ttFromFile.getMaxTimeInMs().getElapsedDurationInMs());
    assertEquals(20, (int) ttFromFile.getAvgTimeInMs());
    // 3rd runtime has the earliest start time, therefore that's what's expected.
    QueryResult qr = dataModelResult.getScenarioResult().get(0).getQuerySetResult().get(0).getQueryResults().get(0);
    List<RunTime> runTimes = qr.getThreadTimes().get(0).getRunTimesInMs();
    assertEquals(runTimes.get(2).getStartTime(), ttFromFile.getStartTime());
    assertEquals(runTimes.get(0).getResultRowCount(), ttFromFile.getRunTimesInMs().get(0).getResultRowCount());
    assertEquals(runTimes.get(1).getResultRowCount(), ttFromFile.getRunTimesInMs().get(1).getResultRowCount());
    assertEquals(runTimes.get(2).getResultRowCount(), ttFromFile.getRunTimesInMs().get(2).getResultRowCount());
    // query result level verification
    assertEquals(10, queryResultFromFile.getAvgMinRunTimeInMs());
    assertEquals(30, queryResultFromFile.getAvgMaxRunTimeInMs());
    assertEquals(20, queryResultFromFile.getAvgRunTimeInMs());
}
Also used : XMLResultHandler(org.apache.phoenix.pherf.result.impl.XMLResultHandler) CSVFileResultHandler(org.apache.phoenix.pherf.result.impl.CSVFileResultHandler) XMLResultHandler(org.apache.phoenix.pherf.result.impl.XMLResultHandler) Test(org.junit.Test)

Aggregations

CSVFileResultHandler (org.apache.phoenix.pherf.result.impl.CSVFileResultHandler)1 XMLResultHandler (org.apache.phoenix.pherf.result.impl.XMLResultHandler)1 Test (org.junit.Test)1