# EventRegLogRegister

Registers an event for logging operations in an application code.

### Synopsis

    #include "petsc.h"
    PetscErrorCode EventRegLogRegister(EventRegLog eventLog, const char ename[], PetscCookie cookie, PetscEvent *event)

Not Collective

### Input Parameters

| eventLog | - The EventLog
| ename | - The name associated with the event
| cookie | - The cookie associated to the class for this event

### Output Parameter

event -The event

### Example of Usage

          int USER_EVENT;
          int user_event_flops;
          PetscLogEventRegister(&USER_EVENT,"User event name");
          PetscLogEventBegin(USER_EVENT,0,0,0,0);
             [code segment to monitor]
             PetscLogFlops(user_event_flops);
          PetscLogEventEnd(USER_EVENT,0,0,0,0);

### Notes

PETSc automatically logs library events if the code has been compiled with -DPETSC_USE_LOG (which is the default) and -log, -log_summary, or -log_all are specified. PetscLogEventRegister() is intended for logging user events to supplement this PETSc information.

PETSc can gather data for use with the utilities Upshot/Nupshot (part of the MPICH distribution). If PETSc has been compiled with flag -DPETSC_HAVE_MPE (MPE is an additional utility within MPICH), the user can employ another command line option, -log_mpe, to create a logfile, "mpe.log", which can be visualized Upshot/Nupshot.

### Keywords

log, event, register

### See Also

PetscLogEventBegin(), PetscLogEventEnd(), PetscLogFlops(), PetscLogEventMPEActivate(), PetscLogEventMPEDeactivate(),
EventLogActivate(), EventLogDeactivate()

Level:intermediate
Location:src/sys/src/plog/eventLog.c
Index of all Profiling routines
Table of Contents for all manual pages
Index of all manual pages