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