Go to the documentation of this file.
75 class profilingInformation;
76 class profilingSysInfo;
77 class 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
255 label
size() const noexcept;
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,...
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
Information * create()
Clear all profiling and restart with new profiling.
static int allowed
Flag if profiling is allowed.
A dynamically resizable PtrList with allocation management.
InfoProxy< IOobject > info() const
Return info proxy.
static void stop(const Time &owner)
Stop profiling, cleanup pool if possible.
static bool active()
True if profiling is allowed and is active.
The IOstreamOption is a simple container for options an IOstream can normally have.
const Time & owner() const
The owner of the profiling.
Information * endTimer()
Remove from stack of active information and update elapsed time.
~profiling()
Destructor. Top-level clears the singleton.
General system information useful for profiling.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
OBJstream os(runTime.globalPath()/outputName)
static void disable()
Disallow profiling by forcing the InfoSwitch off.
static void unstack(const profilingInformation *info)
Remove the information from the top of the stack.
void beginTimer(Information *info)
Add to stack of active information and begin timer datum.
static void initialize(const IOobject &ioObj, const Time &owner)
Singleton to initialize profiling pool, everything enabled.
virtual bool writeData(Ostream &os) const
writeData member function required by regIOobject
const dictionary & parent() const noexcept
Return the parent dictionary.
Triggers for starting/stopping code profiling.
static profilingInformation * New(const string &descr)
Existing or new element on pool, add to stack.
label size() const noexcept
The size of the current stack.
static bool print(Ostream &os)
Print profiling information to specified output.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
profilingInformation Information
virtual bool writeObject(IOstreamOption, const bool valid) const
Write as uncompressed ASCII.
static bool writeNow()
Write profiling information now.