mono-profilers(1) General Commands Manual mono-profilers(1) (NAME) mono-profilers - Mono (SYNOPSIS) mono --profile=log[:option,...] program.exe [args]... mono --profile=coverage[:option,...] program.exe [args]... mono --profile=aot[:option,...] program.exe [args]... (DESCRIPTION) Mono ( ) . . (LOG PROFILER) log Mono . mprof-report(1) Xamarin Profiler . log output.mlpd . log mono/profiler/log.h Mono . log : (Metadata) (Thread) (Performance counter) (Exception throw) . GC (heapshots) . (OPTIONS) . log . . ( zip report .) (OPTIONS) log : help . output=[+|#||]file file . : + (PID) . PID 1234 output=+out.mlpd out.mlpd.1234 . # file (File descriptor) fdopen(3) . (embedding) . | file . popen(3) (pipe) . report . output . zip gzip(1) . port=port port . (Command server) . nodefaults Mono 5.6 . . heapshot GC . log . log . [no]event event : exception (catch finally ). nodefaults . monitor (Monitor lock). gc (GC). gcalloc GC. gcmove GC. gcroot GC ( GC root). nodefaults heapshot . gchandle GC ( GC handle). finalization (Object finalization). counter . nodefaults . jit JIT. alloc gc gcalloc gcmove. legacy exception monitor gc gcmove gcroot gchandle finalization counter. sample[-real][=freq] . (100 Hz) freq . (process time) ( ). -real (wall clock time) . / (I/O-bound) . maxsamples=num num . . (CPU) . . calls . . . callspec=spec (call spec) . --trace mono(1) . calldepth=num num . maxframes=num (backtrace) ( ) num . heapshot[=mode] (heap snapshots). mode : ondemand heapshot (managed library) . numgc num (major generation) heapshot . numms num heapshot heapshot . mode heapshot ..TP heapshot-on-shutdown heapshot (runtime shutdown) heapshot . debug . . (Command server) (log profiler) heapshot ( (on-demand) ). port . heapshot TCP C "heapshot\n" . . (Managed library) Mono.Profiler.Log . ( #C) (run-time) . ( mprof-report(1)) . LogProfiler . heapshot (sampling) . heapshot . -r:Mono.Profiler.Log . (EXAMPLE) GC : mono --profile=log:alloc,sample program.exe mprof-report output.mlpd heapshot (collection) : mono --profile=log:heapshot=5gc,report program.exe (COVERAGE PROFILER) (code coverage profiler) . (instrumenting) JIT (sequence points) . XML . (unit testing) : . coverage.xml . (schema) mono/profiler/coverage.c Mono . AOT . Mono -O=-aot AOT . (OPTIONS) : help . output=[+|#||]file file. : + (PID) . PID 1234 output=+cov.xml cov.xml.1234 . # file (file descriptor) fdopen(3) . (embedding) . | file . popen(3) (pipe) . covfilter-file=file . . (Filter files) ..SS " (Filter files)" (types) (coverage instrumentation) . : +|-[image_name]type_name_prefix image_name mscorlib . type_name_prefix System.Int32 System.App System App . + - . + - (override) . . . : # Ignore coverage in network-related code, except HTTP client code. -[MyProgram]MyProgram.Net +[MyProgram]MyProgram.Net.Http.HttpClient (EXAMPLE) : mono -O=-aot --profile=coverage:output=cov.xml program.exe cov.xml . AOT (AOT PROFILER) AOT (generic instantiations) . AOT (ahead of time) . AOT output.aotprofile . AOT mono/profiler/aot.h Mono . (OPTIONS) AOT : duration=num num . help . output=[+|#||]file file . : + (PID) . PID 1234 output=+out.aotprofile out.aotprofile.1234 . # file (file descriptor) fdopen(3) . (embedding) . | file . popen(3) (log) (pipe) . verbose . ..SS " (EXAMPLE)" : mono --profile=aot:output=program.aotprofile program.exe mono --aot=profile=program.aotprofile program.exe mono program.exe (SEE ALSO) mono(1), mprof-report(1) mono-profilers(1)