from edu.uoregon.tau.perfexplorer.glue import * from edu.uoregon.tau.perfdmf import * from java.util import * from java.lang import * True = 1 False = 0 def loadFile(fileName): # load the trial files = [] files.append(fileName) input = DataSourceResult(DataSourceResult.PPK, files, False) return input def loadFromFiles(): inputs = ArrayList() inputs.add(loadFile("2.ppk")) inputs.add(loadFile("4.ppk")) inputs.add(loadFile("6.ppk")) inputs.add(loadFile("8.ppk")) return inputs def loadDB(app, exp, trial): trial = Utilities.getTrial(app, exp, trial) input = TrialMeanResult(trial) return input def loadFromDB(): Utilities.setSession("your_database_configuration") inputs.add(loadDB("application", "experiment", "trial1")) inputs.add(loadDB("application", "experiment", "trial2")) inputs.add(loadDB("application", "experiment", "trial3")) inputs.add(loadDB("application", "experiment", "trial4")) return inputs def drawGraph(results): # change this to P_WALL_CLOCK_TIME as necessary metric = "Time" grapher = DrawGraph(results) metrics = HashSet() metrics.add(metric) grapher.setMetrics(metrics) grapher.setLogYAxis(False) grapher.setShowZero(True) grapher.setTitle("Graph of Multiple Trials: " + metric) grapher.setSeriesType(DrawGraph.EVENTNAME) grapher.setUnits(DrawGraph.SECONDS) # for processor count X axis grapher.setCategoryType(DrawGraph.PROCESSORCOUNT) # for trial name X axis #grapher.setCategoryType(DrawGraph.TRIALNAME) # for metadata field on X axis #grapher.setCategoryType(DrawGraph.METADATA) #grapher.setMetadataField("pid") grapher.setXAxisLabel("Processor Count") grapher.setValueType(AbstractResult.EXCLUSIVE) grapher.setYAxisLabel("Exclusive " + metric + " (seconds)") grapher.processData() def main(): print "--------------- JPython test script start ------------" # load the data inputs = loadFromFiles() # extract the event of interest events = ArrayList() # change this to zoneLimitedGradient(PileOfScalars) as necessary events.add("MPI_Send()") events.add("MPI_Init()") extractor = ExtractEventOperation(inputs, events) extracted = extractor.processData() drawGraph(extracted) print "---------------- JPython test script end -------------" if __name__ == "__main__": main()