8 #ifndef PXR_BASE_TRACE_EVENT_TREE_H
9 #define PXR_BASE_TRACE_EVENT_TREE_H
26 #include <unordered_map>
43 using CounterValues = std::vector<std::pair<TraceEvent::TimeStamp, double>>;
45 std::unordered_map<TfToken, CounterValues, TfToken::HashFunctor>;
47 std::unordered_map<TfToken, double, TfToken::HashFunctor>;
49 using MarkerValues = std::vector<std::pair<TraceEvent::TimeStamp, TraceThreadId>>;
51 std::unordered_map<TfToken, MarkerValues, TfToken::HashFunctor>;
57 const CounterMap* initialCounterValues =
nullptr);
59 static TraceEventTreeRefPtr
New() {
64 static TraceEventTreeRefPtr
New(
65 TraceEventNodeRefPtr root,
69 new TraceEventTree(root, std::move(counters), std::move(markers)));
73 const TraceEventNodeRefPtr&
GetRoot()
const {
return _root; }
104 , _counters(std::move(counters))
105 , _markers(std::move(markers)) {}
108 TraceEventNodeRefPtr _root;
117 #endif // PXR_BASE_TRACE_EVENT_TREE_H
TfRefPtr< T > TfCreateRefPtr(T *ptr)
TRACE_API TraceEventTreeRefPtr Add(const TraceCollection &collection)
Adds the data from collection to this tree.
std::unordered_map< TfToken, CounterValues, TfToken::HashFunctor > CounterValuesMap
const MarkerValuesMap & GetMarkers() const
Returns the map of markers values.
std::unordered_map< TfToken, double, TfToken::HashFunctor > CounterMap
static TraceEventTreeRefPtr New()
std::function< void(JsWriter &)> ExtraFieldFn
CounterMap GetFinalCounterValues() const
Return the final value of the counters in the report.
std::unordered_map< TfToken, MarkerValues, TfToken::HashFunctor > MarkerValuesMap
const TraceEventNodeRefPtr & GetRoot() const
Returns the root node of the tree.
static TraceEventNodeRefPtr New()
TRACE_API void Merge(const TraceEventTreeRefPtr &tree)
Adds the contexts of tree to this tree.
TRACE_API void WriteChromeTraceObject(JsWriter &writer, ExtraFieldFn extraFields=ExtraFieldFn()) const
const CounterValuesMap & GetCounters() const
Returns the map of counter values.
static TraceEventTreeRefPtr New(TraceEventNodeRefPtr root, CounterValuesMap counters, MarkerValuesMap markers)
std::vector< std::pair< TraceEvent::TimeStamp, TraceThreadId >> MarkerValues
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
std::vector< std::pair< TraceEvent::TimeStamp, double >> CounterValues
TF_DECLARE_WEAK_AND_REF_PTRS(TraceEventTree)