5 #ifndef __MONO_PERFCOUNTERS_H__
6 #define __MONO_PERFCOUNTERS_H__
9 #include <mono/metadata/object.h>
10 #include <mono/utils/mono-compiler.h>
11 #include <mono/metadata/icalls.h>
13 typedef struct _MonoCounterSample MonoCounterSample
;
16 void* mono_perfcounter_get_impl (MonoString
* category
, MonoString
* counter
, MonoString
* instance
,
17 int *type
, MonoBoolean
*custom
);
20 MonoBoolean
mono_perfcounter_get_sample (void *impl
, MonoBoolean only_value
, MonoCounterSample
*sample
);
23 gint64
mono_perfcounter_update_value (void *impl
, MonoBoolean do_incr
, gint64 value
);
26 void mono_perfcounter_free_data (void *impl
);
30 MonoBoolean
mono_perfcounter_category_del (MonoString
*name
);
33 MonoString
* mono_perfcounter_category_help (MonoString
*category
);
36 MonoBoolean
mono_perfcounter_category_exists (MonoString
*counter
, MonoString
*category
);
39 MonoBoolean
mono_perfcounter_create (MonoString
*category
, MonoString
*help
, int type
, MonoArray
*items
);
42 MonoBoolean
mono_perfcounter_instance_exists (MonoString
*instance
, MonoString
*category
);
45 MonoArray
* mono_perfcounter_category_names (void);
48 MonoArray
* mono_perfcounter_counter_names (MonoString
*category
);
51 MonoArray
* mono_perfcounter_instance_names (MonoString
*category
);
53 typedef gboolean (*PerfCounterEnumCallback
) (char *category_name
, char *name
, unsigned char type
, gint64 value
, gpointer user_data
);
54 MONO_API
void mono_perfcounter_foreach (PerfCounterEnumCallback cb
, gpointer user_data
);
56 #endif /* __MONO_PERFCOUNTERS_H__ */