Open CASCADE Technology
6.5.4
|
This class manages Statistics to be queried asynchronously.
It is organized as a stack of counters, identified by their
levels, from one to ... . Each one has a total account of
items to be counted, a count of already passed items, plus a
count of "current items". The counters of higher level play on
these current items.
For instance, if a counter has been opened for 100 items, 40
already passed, 20 current, its own percent is 40, but there
is the contribution of higher level counters, rated for 20 %
of this counter.
Hence, a counter is opened, items are added. Also items can be
add for sub-counter (of higher level), they will be added
definitively when the sub-counter will be closed. When the
count has ended, this counter is closed, the counter of
lower level cumulates it and goes on. As follows :
Way of use :
Open(nbitems);
Add(..) : direct adding
Add(..)
AddSub (nsub) : for sub-counter
Open (nbsubs) : nbsubs for this sub-counter
Add (..)
Close : the sub-counter
AddEnd()
etc...
Close : the starting counter
This means that a counter can be opened in a Stat, regardless
to the already opened ones :: this will be cumulated
A Current Stat is available, but it is possible to have others
#include <MoniTool_Stat.hxx>
Public Member Functions | |
DEFINE_STANDARD_ALLOC | MoniTool_Stat (const Standard_CString title="") |
Creates a Stat form. At start, one default phase is defined, with one default step. Then, it suffises to start with a count of items (and cycles if several) then record items, to have a queryable report. | |
MoniTool_Stat (const MoniTool_Stat &other) | |
used when starting | |
Standard_Integer | Open (const Standard_Integer nb=100) |
Opens a new counter with a starting count of items | |
void | OpenMore (const Standard_Integer id, const Standard_Integer nb) |
Adds more items to be counted by Add... on current level | |
void | Add (const Standard_Integer nb=1) |
Directly addes items | |
void | AddSub (const Standard_Integer nb=1) |
Declares a count of items to be added later. If a sub-counter is opened, its percentage multiplies this sub-count to compute the percent of current level | |
void | AddEnd () |
Ends the AddSub and cumulates the sub-count to current level | |
void | Close (const Standard_Integer id) |
Standard_Integer | Level () const |
Standard_Real | Percent (const Standard_Integer fromlev=0) const |
Static Public Member Functions | |
static MoniTool_Stat & | Current () |
MoniTool_Stat::MoniTool_Stat | ( | const MoniTool_Stat & | other | ) |
void MoniTool_Stat::Add | ( | const Standard_Integer | nb = 1 | ) |
void MoniTool_Stat::AddSub | ( | const Standard_Integer | nb = 1 | ) |
static MoniTool_Stat& MoniTool_Stat::Current | ( | ) | [static] |
Standard_Integer MoniTool_Stat::Level | ( | ) | const |
Standard_Integer MoniTool_Stat::Open | ( | const Standard_Integer | nb = 100 | ) |
Standard_Real MoniTool_Stat::Percent | ( | const Standard_Integer | fromlev = 0 | ) | const |