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