38 #ifndef vtkParallelTimer_h
39 #define vtkParallelTimer_h
41 #define vtkParallelTimerDEBUG -1
44 #include "vtkRenderingParallelLICModule.h"
49 #if vtkParallelTimerDEBUG > 0
53 class vtkParallelTimerBuffer;
90 vtkSetMacro(WriterRank,
int);
91 vtkGetMacro(WriterRank,
int);
100 vtkSetStringMacro(FileName);
101 vtkGetStringMacro(FileName);
105 { this->SetFileName(fileName.c_str()); }
116 void StartEvent(
const char *event);
117 void StartEvent(
int rank,
const char *event);
118 void EndEvent(
const char *event);
119 void EndEvent(
int rank,
const char *event);
120 void EndEventSynch(
const char *event);
121 void EndEventSynch(
int rank,
const char *event);
174 static void DeleteGlobalInstance();
181 vtkSetMacro(WriteOnClose,
int);
182 vtkGetMacro(WriteOnClose,
int);
190 vtkSetMacro(GlobalLevel,
int);
191 vtkGetMacro(GlobalLevel,
int);
205 class VTKRENDERINGPARALLELLIC_EXPORT vtkParallelTimerDestructor
208 vtkParallelTimerDestructor() : Log(0) {}
209 ~vtkParallelTimerDestructor();
224 std::vector<double> StartTime;
225 #if vtkParallelTimerDEBUG < 0
226 std::vector<std::string> EventId;
229 vtkParallelTimerBuffer *Log;
232 static vtkParallelTimerDestructor GlobalInstanceDestructor;
234 std::ostringstream HeaderBuffer;
244 if (this->WorldRank == this->WriterRank)
246 this->HeaderBuffer << s;
247 #if vtkParallelTimerDEBUG > 0
260 if (log->WorldRank == log->WriterRank)
262 log->HeaderBuffer << s;
263 #if vtkParallelTimerDEBUG > 0
278 #if vtkParallelTimerDEBUG > 0