2 * Define the system and runtime performance counters.
3 * Each category is defined with the macro:
4 * PERFCTR_CAT(catid, name, help, type, first_counter_id)
5 * and after that follows the counters inside the category, defined by the macro:
6 * PERFCTR_COUNTER(counter_id, name, help, type)
8 PERFCTR_CAT(CPU, "Processor", "", MultiInstance, CPU_USER_TIME)
9 PERFCTR_COUNTER(CPU_USER_TIME, "% User Time", "", Timer100Ns)
10 PERFCTR_COUNTER(CPU_PRIV_TIME, "% Privileged Time", "", Timer100Ns)
11 PERFCTR_COUNTER(CPU_INTR_TIME, "% Interrupt Time", "", Timer100Ns)
12 PERFCTR_COUNTER(CPU_DCP_TIME, "% DCP Time", "", Timer100Ns)
13 PERFCTR_COUNTER(CPU_PROC_TIME, "% Processor Time", "", Timer100Ns)
15 PERFCTR_CAT(PROC, "Process", "", MultiInstance, PROC_USER_TIME)
16 PERFCTR_COUNTER(PROC_USER_TIME, "% User Time", "", Timer100Ns)
17 PERFCTR_COUNTER(PROC_PRIV_TIME, "% Privileged Time", "", Timer100Ns)
18 PERFCTR_COUNTER(PROC_PROC_TIME, "% Processor Time", "", Timer100Ns)
19 PERFCTR_COUNTER(PROC_THREADS, "Thread Count", "", NumberOfItems64)
20 PERFCTR_COUNTER(PROC_VBYTES, "Virtual Bytes", "", NumberOfItems64)
21 PERFCTR_COUNTER(PROC_WSET, "Working Set", "", NumberOfItems64)
22 PERFCTR_COUNTER(PROC_PBYTES, "Private Bytes", "", NumberOfItems64)
24 /* sample runtime counter */
25 PERFCTR_CAT(MONO_MEM, "Mono Memory", "", SingleInstance, MEM_NUM_OBJECTS)
26 PERFCTR_COUNTER(MEM_NUM_OBJECTS, "Allocated Objects", "", NumberOfItems64)
28 PERFCTR_CAT(ASPNET, "ASP.NET", "", MultiInstance, ASPNET_REQ_Q)
29 PERFCTR_COUNTER(ASPNET_REQ_Q, "Requests Queued", "", NumberOfItems64)