1*c6e6295fSToby Isaac const char help[] = "Test dropping PetscLogEventEnd()"; 2*c6e6295fSToby Isaac 3*c6e6295fSToby Isaac #include <petsc.h> 4*c6e6295fSToby Isaac 5*c6e6295fSToby Isaac int main(int argc, char **argv) 6*c6e6295fSToby Isaac { 7*c6e6295fSToby Isaac PetscLogEvent e1, e2; 8*c6e6295fSToby Isaac PetscLogStage s; 9*c6e6295fSToby Isaac 10*c6e6295fSToby Isaac PetscCall(PetscInitialize(&argc, &argv, NULL, help)); 11*c6e6295fSToby Isaac PetscCall(PetscLogEventRegister("Event-1", PETSC_OBJECT_CLASSID, &e1)); 12*c6e6295fSToby Isaac PetscCall(PetscLogEventRegister("Event-2", PETSC_OBJECT_CLASSID, &e2)); 13*c6e6295fSToby Isaac PetscCall(PetscLogStageRegister("User Stage", &s)); 14*c6e6295fSToby Isaac PetscCall(PetscLogStagePush(s)); 15*c6e6295fSToby Isaac PetscCall(PetscSleep(0.1)); 16*c6e6295fSToby Isaac PetscCall(PetscLogEventBegin(e1, NULL, NULL, NULL, NULL)); 17*c6e6295fSToby Isaac PetscCall(PetscSleep(0.1)); 18*c6e6295fSToby Isaac PetscCall(PetscLogEventBegin(e2, NULL, NULL, NULL, NULL)); 19*c6e6295fSToby Isaac PetscCall(PetscSleep(0.1)); 20*c6e6295fSToby Isaac PetscCall(PetscLogStagePop()); 21*c6e6295fSToby Isaac PetscCall(PetscLogEventBegin(e1, NULL, NULL, NULL, NULL)); 22*c6e6295fSToby Isaac PetscCall(PetscSleep(0.1)); 23*c6e6295fSToby Isaac PetscCall(PetscLogEventBegin(e2, NULL, NULL, NULL, NULL)); 24*c6e6295fSToby Isaac PetscCall(PetscSleep(0.1)); 25*c6e6295fSToby Isaac PetscCall(PetscLogEventEnd(e1, NULL, NULL, NULL, NULL)); 26*c6e6295fSToby Isaac PetscCall(PetscFinalize()); 27*c6e6295fSToby Isaac return 0; 28*c6e6295fSToby Isaac } 29*c6e6295fSToby Isaac 30*c6e6295fSToby Isaac /*TEST 31*c6e6295fSToby Isaac 32*c6e6295fSToby Isaac test: 33*c6e6295fSToby Isaac suffix: 0 34*c6e6295fSToby Isaac requires: defined(PETSC_USE_LOG) 35*c6e6295fSToby Isaac args: -log_view ::ascii_flamegraph -info :loghandler 36*c6e6295fSToby Isaac filter: sed -E "s/ [0-9]+/ time_removed/g" 37*c6e6295fSToby Isaac 38*c6e6295fSToby Isaac TEST*/ 39