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