VTK  9.3.20240419
vtkMPIEventLog.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
21 #ifndef vtkMPIEventLog_h
22 #define vtkMPIEventLog_h
23 
24 #include "vtkObject.h"
25 #include "vtkParallelMPIModule.h" // For export macro
26 
27 VTK_ABI_NAMESPACE_BEGIN
28 class VTKPARALLELMPI_EXPORT vtkMPIEventLog : public vtkObject
29 {
30 public:
31  vtkTypeMacro(vtkMPIEventLog, vtkObject);
32 
37  static vtkMPIEventLog* New();
38 
49  int SetDescription(const char* name, const char* desc);
50 
52 
58  static void InitializeLogging();
59  static void FinalizeLogging(VTK_FILEPATH const char* fileName);
61 
63 
66  void StartLogging();
67  void StopLogging();
69 
70  void PrintSelf(ostream& os, vtkIndent indent) override;
71 
72 protected:
74  ~vtkMPIEventLog() override;
75 
76  static int LastEventId;
77  int Active;
78  int BeginId;
79  int EndId;
80 
81 private:
82  vtkMPIEventLog(const vtkMPIEventLog&) = delete;
83  void operator=(const vtkMPIEventLog&) = delete;
84 };
85 
86 VTK_ABI_NAMESPACE_END
87 #endif
a simple class to control print indentation
Definition: vtkIndent.h:108
Class for logging and timing.
~vtkMPIEventLog() override
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static void InitializeLogging()
These methods have to be called once on all processors before and after invoking any logging events.
static void FinalizeLogging(VTK_FILEPATH const char *fileName)
These methods have to be called once on all processors before and after invoking any logging events.
void StartLogging()
Issue start and stop events for this log entry.
static vtkMPIEventLog * New()
Construct a vtkMPIEventLog with the following initial state: Processes = 0, MaximumNumberOfProcesses ...
void StopLogging()
Issue start and stop events for this log entry.
int SetDescription(const char *name, const char *desc)
Used to initialize the underlying mpe event.
static int LastEventId
abstract base class for most VTK objects
Definition: vtkObject.h:162
@ name
Definition: vtkX3D.h:219
#define VTK_FILEPATH