[runtime] New profiler API.
[mono.git] / mono / profiler / log.h
index d1158da7c911b8c8721e22e210c26d441ddfe4ee..10171a8d05b9fe07999fe13ed8560e902ed737de 100644 (file)
@@ -66,6 +66,7 @@
                changed address field in TYPE_SAMPLE_UBIN to be based on ptr_base
                added an image pointer field to assembly load events
                added an exception object field to TYPE_CLAUSE
+               class unload events no longer exist (they were never emitted)
  */
 
 enum {
@@ -149,6 +150,17 @@ typedef enum {
        SYNC_POINT_WORLD_START
 } MonoProfilerSyncPointType;
 
+typedef enum {
+       MONO_PROFILER_MONITOR_CONTENTION = 1,
+       MONO_PROFILER_MONITOR_DONE = 2,
+       MONO_PROFILER_MONITOR_FAIL = 3,
+} MonoProfilerMonitorEvent;
+
+enum {
+       MONO_PROFILER_GC_HANDLE_CREATED,
+       MONO_PROFILER_GC_HANDLE_DESTROYED,
+};
+
 // Sampling sources
 // Unless you have compiled with --enable-perf-events, only SAMPLE_CYCLES is available
 enum {
@@ -264,7 +276,7 @@ typedef struct {
        //Max size of the sample hit buffer, we'll drop frames if it's reached
        int max_allocated_sample_hits;
 
-       MonoProfileSamplingMode sampling_mode;
+       MonoProfilerSampleMode sampling_mode;
 } ProfilerConfig;
 
 void proflog_parse_args (ProfilerConfig *config, const char *desc);