00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __UT_PerfMonTypes__
00020 #define __UT_PerfMonTypes__
00021
00022 #include "UT_API.h"
00023
00024
00025 #define UT_PERFMON_PROFILE_FILE_EXTENSION ".hperf"
00026
00027 static const int UT_PERFORMANCE_INVALID_FRAME = -1;
00028
00029
00030 enum UT_PerfMonCategory
00031 {
00032 UT_PERFMON_INVALID_CATEGORY = -1,
00033 UT_PERFMON_GENERAL_CATEGORY,
00034 UT_PERFMON_COOK_CATEGORY,
00035 UT_PERFMON_SOLVE_CATEGORY,
00036 UT_PERFMON_DRAW_CATEGORY,
00037 UT_PERFMON_GPU_DRAW_CATEGORY,
00038 UT_PERFMON_SCRIPT_CATEGORY,
00039 UT_PERFMON_RENDER_CATEGORY,
00040 UT_PERFMON_NUM_CATEGORIES
00041 };
00042
00043
00044 enum UT_PerfMonEventType
00045 {
00046 UT_PERFMON_INVALID_EVENT = -1,
00047 UT_PERFMON_GENERAL_EVENT,
00048 UT_PERFMON_TIMED_EVENT,
00049 UT_PERFMON_MEMORY_EVENT,
00050 UT_PERFMON_NUM_EVENT_TYPES
00051 };
00052
00053
00054 enum UT_PerfMonObjectType
00055 {
00056 UT_PERFMON_INVALID_OBJECT = -1,
00057 UT_PERFMON_NODE_OBJECT,
00058 UT_PERFMON_VIEWPORT_OBJECT,
00059 UT_PERFMON_SCRIPT_OBJECT,
00060 UT_PERFMON_RENDERER_OBJECT,
00061 UT_PERFMON_FRAME_OBJECT,
00062 UT_PERFMON_OTHER_OBJECT,
00063 UT_PERFMON_NUM_OBJECT_TYPES
00064 };
00065
00066
00067 enum UT_PerfMonStatType
00068 {
00069 UT_PERFMON_INVALID_STAT_TYPE = -1,
00070 UT_PERFMON_CUMULATIVE_TIME_STAT,
00071 UT_PERFMON_SELF_TIME_STAT,
00072 UT_PERFMON_EVENT_COUNT_STAT,
00073 UT_PERFMON_AVERAGE_TIME_STAT,
00074 UT_PERFMON_MIN_TIME_STAT,
00075 UT_PERFMON_MAX_TIME_STAT,
00076 UT_PERFMON_CUMULATIVE_MEMORY_STAT,
00077 UT_PERFMON_SELF_MEMORY_STAT,
00078 UT_PERFMON_NUM_STAT_TYPES
00079 };
00080
00081
00082 enum UT_PerfMonViewportType
00083 {
00084 UT_PERFMON_3D_VIEWPORT,
00085 UT_PERFMON_2D_VIEWPORT,
00086 UT_PERFMON_NUM_VIEWPORT_TYPES
00087 };
00088
00089
00090 enum UT_PerfMonScriptType
00091 {
00092 UT_PERFMON_HSCRIPT,
00093 UT_PERFMON_PYTHON,
00094 UT_PERFMON_NUM_SCRIPT_TYPES
00095 };
00096
00097
00098 enum UT_PerfMonAttributeType
00099 {
00100 UT_PERFMON_INVALID_ATTR_TYPE = -1,
00101 UT_PERFMON_STRING_ATTR_TYPE,
00102 UT_PERFMON_NUMBER_ATTR_TYPE,
00103 UT_PERFMON_MAP_ATTR_TYPE,
00104 UT_PERFMON_ARRAY_ATTR_TYPE,
00105 UT_PERFMON_NUM_ATTR_TYPES
00106 };
00107
00108
00109 enum UT_PerfMonProfileAttribute
00110 {
00111 UT_PERFMON_INVALID_PROFILE_ATTR = -1,
00112 UT_PERFMON_PROFILE_NAME_ATTR,
00113 UT_PERFMON_PROFILE_STATS_ATTR,
00114 UT_PERFMON_PROFILE_STAT_DEFS_ATTR,
00115 UT_PERFMON_NUM_PROFILE_ATTRS
00116 };
00117
00118
00119 enum UT_PerfMonStatsAttribute
00120 {
00121 UT_PERFMON_INVALID_STATS_ATTR = -1,
00122 UT_PERFMON_STATS_NAME_ATTR,
00123 UT_PERFMON_STATS_PATH_ATTR,
00124 UT_PERFMON_STATS_OBJ_TYPE_ATTR,
00125 UT_PERFMON_STATS_OBJ_ICON_ATTR,
00126 UT_PERFMON_STATS_GLOBAL_STATS_ATTR,
00127 UT_PERFMON_STATS_STATS_ATTR,
00128 UT_PERFMON_STATS_CHILDREN_ATTR,
00129 UT_PERFMON_NUM_STATS_ATTRS
00130 };
00131
00132
00133 enum UT_PerfMonStatDefAttribute
00134 {
00135 UT_PERFMON_INVALID_STAT_DEF_ATTR = -1,
00136 UT_PERFMON_STAT_DEF_NAME_ATTR,
00137 UT_PERFMON_STAT_DEF_CATEGORY_ATTR,
00138 UT_PERFMON_STAT_DEF_TYPE_ATTR,
00139 UT_PERFMON_STAT_DEF_IS_DIFF_ATTR,
00140 UT_PERFMON_NUM_STAT_DEF_ATTRS
00141 };
00142
00143
00144 enum UT_PerfMonLogTimeFormat
00145 {
00146 UT_PERFMON_LOG_TIME_FORMAT_ALL,
00147 UT_PERFMON_LOG_TIME_FORMAT_MS,
00148 UT_PERFMON_LOG_TIME_FORMAT_SEC
00149 };
00150
00151
00152 UT_API const char *UTgetEventTypeName(UT_PerfMonEventType type);
00153
00154
00155 UT_API const char *UTgetCategoryName(UT_PerfMonCategory category);
00156
00157
00158 UT_API const char *UTgetObjectTypeName(UT_PerfMonObjectType object_type);
00159
00160
00161 UT_API const char *UTgetStatTypeName(UT_PerfMonStatType stat_type);
00162
00163
00164 UT_API UT_PerfMonEventType
00165 UTgetEventType(const char *type_name);
00166
00167
00168 UT_API UT_PerfMonCategory
00169 UTgetCategory(const char *category_name);
00170
00171
00172 UT_API UT_PerfMonObjectType
00173 UTgetObjectType(const char *type_name);
00174
00175
00176 UT_API UT_PerfMonStatType
00177 UTgetStatType(const char *type_name);
00178
00179
00180 UT_API const char *UTgetProfileAttrName(UT_PerfMonProfileAttribute attr);
00181
00182
00183 UT_API UT_PerfMonAttributeType
00184 UTgetProfileAttrType(UT_PerfMonProfileAttribute attr);
00185
00186
00187 UT_API const char *UTgetStatsAttrName(UT_PerfMonStatsAttribute attr);
00188
00189
00190 UT_API const char *UTgetStatDefAttrName(UT_PerfMonStatDefAttribute attr);
00191
00192
00193
00194 UT_API UT_PerfMonProfileAttribute
00195 UTgetProfileAttribute(const char *attr_name);
00196
00197
00198 UT_API UT_PerfMonAttributeType
00199 UTgetStatsAttrType(UT_PerfMonStatsAttribute attr);
00200
00201
00202
00203 UT_API UT_PerfMonStatsAttribute
00204 UTgetStatsAttribute(const char *attr_name);
00205
00206
00207
00208 UT_API UT_PerfMonStatDefAttribute
00209 UTgetStatDefAttribute(const char *attr_name);
00210 #endif