[runtime] Rename most System.Reflection.MonoX classes to RuntimeX for consistency...
[mono-project.git] / mono / metadata / mono-perfcounters.h
blob02d4e5644b1a3a7baa458204329dbfe3dad42279
1 /**
2 * \file
3 */
5 #ifndef __MONO_PERFCOUNTERS_H__
6 #define __MONO_PERFCOUNTERS_H__
8 #include <glib.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;
15 ICALL_EXPORT
16 void* mono_perfcounter_get_impl (MonoString* category, MonoString* counter, MonoString* instance,
17 int *type, MonoBoolean *custom);
19 ICALL_EXPORT
20 MonoBoolean mono_perfcounter_get_sample (void *impl, MonoBoolean only_value, MonoCounterSample *sample);
22 ICALL_EXPORT
23 gint64 mono_perfcounter_update_value (void *impl, MonoBoolean do_incr, gint64 value);
25 ICALL_EXPORT
26 void mono_perfcounter_free_data (void *impl);
28 /* Category icalls */
29 ICALL_EXPORT
30 MonoBoolean mono_perfcounter_category_del (MonoString *name);
32 ICALL_EXPORT
33 MonoString* mono_perfcounter_category_help (MonoString *category);
35 ICALL_EXPORT
36 MonoBoolean mono_perfcounter_category_exists (MonoString *counter, MonoString *category);
38 ICALL_EXPORT
39 MonoBoolean mono_perfcounter_create (MonoString *category, MonoString *help, int type, MonoArray *items);
41 ICALL_EXPORT
42 MonoBoolean mono_perfcounter_instance_exists (MonoString *instance, MonoString *category);
44 ICALL_EXPORT
45 MonoArray* mono_perfcounter_category_names (void);
47 ICALL_EXPORT
48 MonoArray* mono_perfcounter_counter_names (MonoString *category);
50 ICALL_EXPORT
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__ */