HDK
|
#include <aggregateNode.h>
Classes | |
class | Id |
Public Types | |
using | This = TraceAggregateNode |
using | ThisPtr = TraceAggregateNodePtr |
using | ThisRefPtr = TraceAggregateNodeRefPtr |
using | TimeStamp = TraceEvent::TimeStamp |
![]() | |
typedef void(* | UniqueChangedFuncPtr )(TfRefBase const *, bool) |
Public Member Functions | |
TRACE_API TraceAggregateNodeRefPtr | Append (Id id, const TfToken &key, TimeStamp ts, int c=1, int xc=1) |
TRACE_API void | Append (TraceAggregateNodeRefPtr child) |
TfToken | GetKey () |
Returns the node's key. More... | |
const Id & | GetId () |
Returns the node's id. More... | |
TRACE_API void | CalculateInclusiveCounterValues () |
void | SetExpanded (bool expanded) |
Sets whether or not this node is expanded in a gui. More... | |
bool | IsExpanded () |
Returns whether this node is expanded in a gui. More... | |
TRACE_API void | AdjustForOverheadAndNoise (TimeStamp scopeOverhead, TimeStamp timerQuantum, uint64_t *numDescendantNodes=nullptr) |
Profile Data Accessors | |
TimeStamp | GetInclusiveTime () |
Returns the total time of this node ands its children. More... | |
TRACE_API TimeStamp | GetExclusiveTime (bool recursive=false) |
Returns the time spent in this node but not its children. More... | |
int | GetCount (bool recursive=false) const |
int | GetExclusiveCount () const |
Returns the exclusive count. More... | |
Counter Value Accessors | |
TRACE_API void | AppendInclusiveCounterValue (int index, double value) |
TRACE_API double | GetInclusiveCounterValue (int index) const |
TRACE_API void | AppendExclusiveCounterValue (int index, double value) |
TRACE_API double | GetExclusiveCounterValue (int index) const |
Children Accessors | |
const TraceAggregateNodePtrVector | GetChildren () |
const TraceAggregateNodeRefPtrVector & | GetChildrenRef () |
TRACE_API TraceAggregateNodeRefPtr | GetChild (const TfToken &key) |
TraceAggregateNodeRefPtr | GetChild (const std::string &key) |
Recursion | |
TRACE_API void | MarkRecursiveChildren () |
bool | IsRecursionMarker () const |
bool | IsRecursionHead () const |
![]() | |
TfRefBase () | |
TfRefBase (TfRefBase const &) | |
TfRefBase & | operator= (TfRefBase const &) |
size_t | GetCurrentCount () const |
Return the current reference count of this object. More... | |
bool | IsUnique () const |
Return true if only one TfRefPtr points to this object. More... | |
void | SetShouldInvokeUniqueChangedListener (bool shouldCall) |
![]() | |
TfWeakBase () | |
TfWeakBase (const TfWeakBase &) | |
const TfWeakBase & | __GetTfWeakBase__ () const |
const TfWeakBase & | operator= (const TfWeakBase &) |
void | EnableNotification2 () const |
TF_API void const * | GetUniqueIdentifier () const |
Static Public Member Functions | |
static ThisRefPtr | New () |
static ThisRefPtr | New (const Id &id, const TfToken &key, const TimeStamp ts, const int count=1, const int exclusiveCount=1) |
![]() | |
static TF_API void | SetUniqueChangedListener (UniqueChangedListener listener) |
Additional Inherited Members | |
![]() | |
virtual TF_API | ~TfRefBase () |
![]() | |
~TfWeakBase () | |
TfRefPtr< Tf_Remnant > | _Register () const |
template<class T > | |
TfRefPtr< Tf_Remnant > | _Register (T *tempRmnt) const |
bool | _HasRemnant () const |
A representation of a call tree. Each node represents one or more calls that occurred in the trace. Multiple calls to a child node are aggregated into one node.
Definition at line 40 of file aggregateNode.h.
Definition at line 43 of file aggregateNode.h.
using TraceAggregateNode::ThisPtr = TraceAggregateNodePtr |
Definition at line 44 of file aggregateNode.h.
using TraceAggregateNode::ThisRefPtr = TraceAggregateNodeRefPtr |
Definition at line 45 of file aggregateNode.h.
Definition at line 47 of file aggregateNode.h.
TRACE_API void TraceAggregateNode::AdjustForOverheadAndNoise | ( | TimeStamp | scopeOverhead, |
TimeStamp | timerQuantum, | ||
uint64_t * | numDescendantNodes = nullptr |
||
) |
Subtract scopeOverhead
cost times the number of descendant nodes from the inclusive time of each node. If numDescendantNodes
is not null, add the number of nodes descendant to this node (not including this node) to *numDescendantNodes. Also for any nodes with descendants that are "noisy" wrt timerQuantum
, do not subtract their times from the parent's exclusive time, but instead set their times to zero. This way we retain the sample count, but do not pollute the parent node's exclusive time with noise.
TRACE_API TraceAggregateNodeRefPtr TraceAggregateNode::Append | ( | Id | id, |
const TfToken & | key, | ||
TimeStamp | ts, | ||
int | c = 1 , |
||
int | xc = 1 |
||
) |
Recursively calculates the inclusive counter values from the inclusive and exclusive counts of child nodes.
|
inline |
Definition at line 136 of file aggregateNode.h.
|
inline |
Definition at line 126 of file aggregateNode.h.
|
inline |
Definition at line 131 of file aggregateNode.h.
|
inline |
Returns the call count of this node. recursive
determines if recursive calls are counted.
Definition at line 96 of file aggregateNode.h.
|
inline |
Returns the exclusive count.
Definition at line 101 of file aggregateNode.h.
Returns the time spent in this node but not its children.
|
inline |
Returns the node's id.
Definition at line 83 of file aggregateNode.h.
|
inline |
Returns the total time of this node ands its children.
Definition at line 89 of file aggregateNode.h.
|
inline |
Returns the node's key.
Definition at line 80 of file aggregateNode.h.
|
inline |
Returns whether this node is expanded in a gui.
Definition at line 149 of file aggregateNode.h.
|
inline |
Returns true if this node is the head of a recursive call tree (i.e. the function has been called recursively).
This value is meaningless until this node or any of its ancestors have been marked with MarkRecursiveChildren().
Definition at line 187 of file aggregateNode.h.
|
inline |
Returns true if this node is simply a marker for a merged recursive subtree; otherwise returns false.
This value is meaningless until this node or any of its ancestors have been marked with MarkRecursiveChildren().
Definition at line 180 of file aggregateNode.h.
Scans the tree for recursive calls and updates the recursive counts.
This call leaves the tree topology intact, and only updates the recursion-related data in the node. Prior to this call, recursion data is invalid in the node.
|
inlinestatic |
Definition at line 61 of file aggregateNode.h.
|
inlinestatic |
Definition at line 65 of file aggregateNode.h.
|
inline |
Sets whether or not this node is expanded in a gui.
Definition at line 144 of file aggregateNode.h.