14 #ifndef __UT_PerfMonStats__
15 #define __UT_PerfMonStats__
38 static const int UT_PERFMON_STAT_WALL_TIME = 0;
55 void setName(
const char *name);
58 void setIsDiff(
bool is_diff);
69 static void getRootStatName(
72 static void getSelfStatName(
73 const char *root_stat_name,
75 static void getCountStatName(
76 const char *root_stat_name,
78 static void getAverageStatName(
79 const char *root_stat_name,
81 static void getMinStatName(
82 const char *root_stat_name,
84 static void getMaxStatName(
85 const char *root_stat_name,
87 static void getDiffStatName(
88 const char *src_stat_name,
95 static void stripStatSuffix_(
96 const char *stat_name,
97 const char *stat_suffix,
114 const char* title1 = NULL,
115 const char* title2 = NULL);
117 const char *
name,
const char *
path,
const char *icon,
135 const char *
name()
const;
138 void setName(
const char *name);
141 const char *
path()
const;
144 void setPath(
const char *path);
147 const char *extraInfo()
const;
150 void setExtraInfo(
const char *extra_info);
160 const char *icon()
const;
163 void setIcon(
const char *icon);
168 bool isIconSet()
const;
188 bool hasStat(
const char *stat_name)
const;
199 const char *stat_name,
202 int thread_id = UT_PERFMON_STAT_WALL_TIME)
208 const char* stat_name,
209 int first_frame= UT_PERFORMANCE_INVALID_FRAME,
210 int last_frame = UT_PERFORMANCE_INVALID_FRAME)
const;
213 fpreal valueForThread(
const char *stat_name,
244 fpreal normalizedPercentage(
245 const char *time_stat_name,
254 void updateStatsFromDeltas();
261 static bool isArtificialStatObject(
const char *stat_obj_path);
265 static void convertToArtificialStatObjectName(
267 const char *stat_obj_name);
271 static void convertToRealStatObjectName(
276 static void buildObjectPath(
278 const char *real_object_path,
279 const char *artificial_object_name);
286 static void splitObjectPath(
294 static void splitParentPath(
300 static const char *rootStatsTitle();
303 static const char *unaccountedStatsTitle();
320 int frame_num,
fpreal delta_value)
324 frameNum = frame_num;
325 deltaValue = delta_value;
328 ut_StatDelta(
const ut_StatDelta &src)
330 statDef = src.statDef ?
333 threadId = src.threadId;
334 frameNum = src.frameNum;
335 deltaValue = src.deltaValue;
351 int thread_id,
int frame,
362 void updateStatsFromTimeDelta_(
363 const ut_StatDelta *delta,
364 const char *total_time_stat_name,
365 const char *total_self_time_stat_name,
371 void updateStatsFromMemoryDelta_(
372 const ut_StatDelta *delta,
377 void updateAverageTimeStats_(
383 void updateParentMaxChildStats_(
391 void updateMaxChildStat_(
393 fpreal suggested_max_value);
UT_ValArray< UT_PerfMonStats * > UT_PerfMonStatsList
UT_ValArray< UT_PerfMonStatDefinition * > UT_PerfMonStatDefinitions
OIIO_UTIL_API std::string parent_path(string_view filepath) noexcept
GLsizei const GLfloat * value
GLsizei const GLchar *const * path
Definition of a collected statistic.
Class which writes ASCII or binary JSON streams.
**But if you need a result
bool operator==(const BaseDimensions< T > &a, const BaseDimensions< Y > &b)
GLint GLint GLsizei GLint GLenum GLenum type
UT_PerfMonObjectType
Object types.
std::string OIIO_UTIL_API replace(string_view str, string_view pattern, string_view replacement, bool global=false)
UT_PerfMonCategory
Categories.
UT_StringMap< fpreal > UT_PerfMonMaxStatValues
GT_API const UT_StringHolder object_name
GLuint const GLchar * name
A collection of statistics for a particular object (i.e. node, viewport).
LeafData & operator=(const LeafData &)=delete
UT_ValArray< const UT_PerfMonStats * > UT_ConstPerfMonStatsList
const UT_StringHolder & name() const
**Note that the tasks the thread_id