xref: /petsc/src/sys/tests/ex71.c (revision ccfb0f9f40a0131988d7995ed9679700dae2a75a)
1 const char help[] = "Test getting performance info when the default log handler is not running";
2 
3 #include <petscsys.h>
4 #include <petscviewer.h>
5 
6 int main(int argc, char **argv)
7 {
8   PetscLogEvent      event_id;
9   PetscLogStage      stage_id;
10   PetscEventPerfInfo stage_info;
11   PetscEventPerfInfo event_info;
12 
13   PetscCall(PetscInitialize(&argc, &argv, NULL, help));
14   PetscCall(PetscLogEventRegister("My event", PETSC_VIEWER_CLASSID, &event_id));
15   PetscCall(PetscLogStageRegister("My stage", &stage_id));
16   PetscCall(PetscLogStagePush(stage_id));
17   PetscCall(PetscLogEventBegin(event_id, NULL, NULL, NULL, NULL));
18   PetscCall(PetscSleep(0.1));
19   PetscCall(PetscLogEventEnd(event_id, NULL, NULL, NULL, NULL));
20   PetscCall(PetscLogStagePop());
21   PetscCall(PetscLogEventGetPerfInfo(stage_id, event_id, &event_info));
22   PetscCall(PetscLogStageGetPerfInfo(stage_id, &stage_info));
23   PetscCheck(event_info.time == 0.0, PETSC_COMM_SELF, PETSC_ERR_PLIB, "Stats should be zero");
24   PetscCheck(stage_info.time == 0.0, PETSC_COMM_SELF, PETSC_ERR_PLIB, "Stats should be zero");
25   PetscCall(PetscFinalize());
26   return 0;
27 }
28 
29 /*TEST
30 
31   test:
32     suffix: 0
33     args: -petsc_ci 0
34     output_file: output/empty.out
35 
36 TEST*/
37