Actual source code: ex71.c
1: const char help[] = "Test getting performance info when the default log handler is not running";
3: #include <petscsys.h>
4: #include <petscviewer.h>
6: int main(int argc, char **argv)
7: {
8: PetscLogEvent event_id;
9: PetscLogStage stage_id;
10: PetscEventPerfInfo stage_info;
11: PetscEventPerfInfo event_info;
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: }
29: /*TEST
31: test:
32: suffix: 0
34: TEST*/