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