75class profilingInformation;
76class profilingSysInfo;
77class profilingTrigger;
110 static std::unique_ptr<profiling> singleton_;
131 std::unique_ptr<sysInfo> sysInfo_;
134 std::unique_ptr<cpuInfo> cpuInfo_;
137 std::unique_ptr<memInfo> memInfo_;
146 void operator=(
const profiling&) =
delete;
164 const bool allEnabled =
true
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Defines the attributes of an object for which implicit objectRegistry management is supported,...
InfoProxy< IOobject > info() const
Return info proxy, for printing information to a stream.
The IOstreamOption is a simple container for options an IOstream can normally have.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A dynamically resizable PtrList with allocation management.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const dictionary & parent() const noexcept
Return the parent dictionary.
General system information useful for profiling.
Triggers for starting/stopping code profiling.
static bool active()
True if profiling is allowed and is active.
Information * endTimer()
Remove from stack of active information and update elapsed time.
virtual bool writeObject(IOstreamOption, const bool valid) const
Write as uncompressed ASCII.
profilingInformation Information
static bool writeNow()
Write profiling information now.
static profilingInformation * New(const string &descr)
Existing or new element on pool, add to stack.
static bool print(Ostream &os)
Print profiling information to specified output.
virtual bool writeData(Ostream &os) const
writeData member function required by regIOobject
const Time & owner() const
The owner of the profiling.
static void unstack(const profilingInformation *info)
Remove the information from the top of the stack.
static int allowed
Flag if profiling is allowed.
Information * create()
Clear all profiling and restart with new profiling.
static void disable()
Disallow profiling by forcing the InfoSwitch off.
label size() const noexcept
The size of the current stack.
void beginTimer(Information *info)
Add to stack of active information and begin timer datum.
static void stop(const Time &owner)
Stop profiling, cleanup pool if possible.
~profiling()
Destructor. Top-level clears the singleton.
static void initialize(const IOobject &ioObj, const Time &owner)
Singleton to initialize profiling pool, everything enabled.
OBJstream os(runTime.globalPath()/outputName)
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)