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