1 const char help[] = "Test dropping PetscLogEventEnd()";
2
3 #include <petsc.h>
4
main(int argc,char ** argv)5 int main(int argc, char **argv)
6 {
7 PetscLogEvent e1, e2;
8 PetscLogStage s;
9
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 }
29
30 /*TEST
31
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"
37
38 TEST*/
39