mprof-report(1)
π mprof-report β the report generator for Mono's log profiler π
okay bestie, so this is mprof-report(1), from the General Commands Manual β it's a command-line tool, and it's literally the moment your profiler data stops being a mystery blob and starts being a whole report. π
β¨ SYNOPSIS β¨
mprof-report [option]... file.mlpd
πΈ DESCRIPTION πΈ
mprof-report is the report generator for Mono's log profiler. It reads the MLPD log files that the log profiler produces and generates a report based on whatever options you passed it. The output is built out of individual reports, and you can turn each one on or off like little light switches. By default, all reports are generated in summary form β aka non-verbose output, aka the chill version, not the unhinged detail version. π¦
ngl, one of the cutest things about it: mprof-report can read both normal and gzip(1)-compressed log files transparently. You don't have to decompress anything, it just handles it. periodt. π
Wanna know how to actually use the log profiler with a program? Go read the mono-profilers(1) page, under the LOG PROFILER</> section. iykyk. π
β¨ OPTIONS β¨
The following options are available, bestie β collect them all:
--helpβ Displays usage instructions. the classic "help me pls" move π«Ά- *
--out=file* β Write the report output to file instead of standard output. yes, you can yeet it into a file instead of letting it scroll forever in your terminal π --tracesβ Show backtraces in reports when available. the receipts!! π- *
--maxframes=num* β Limit backtraces to num frames. because sometimes 4000 frames is not the vibe π --reports=reports β Generate *only the specified reports. *reports is a comma-separated list of reports. See the REPORTS</> section below, boo. β¨- *
--method-sort=mode* β Sort methods according to mode, which can be one of:total(default) β Sort by the total amount of time spent in a method and its callees. the whole squad counts πselfβ Sort by the amount of time spent only within a method itself. main character energy, no entourage πcallsβ Sort by the total amount of calls made to a method. how many times did we text them fr fr π±
- *
--alloc-sort=mode* β Sort allocations according to mode, which can be one of:bytes(default) β Sort by the amount of heap bytes occupied by all allocated objects of a type. chunky = important πcountβ Sort by the total amount of allocations of a type. quantity over quality, lowkey
- *
--counters-sort=mode* β Sort counters according to mode. This alters how the counters</> report is presented. It can be one of:time(default) β Present a list of samples, each containing a list of counter name-value pairs. sample first, then the deets π§categoryβ Present a list of counter names, each containing a list of sampled values. name first, then the receipts β- > heads up: this option has no effect unless
--verboseis passed. so don't come crying to me when nothing changes, bestie π
- *
--track=objects* β Track what happens to the specified objects. objects is a comma-separated list of object addresses. it's giving surveillance but make it debugging π΅οΈ - *
--find=spec* β Find and track what happens to objects matching spec, which can have one of these forms:S:minimum_size β Look for objects that are at least minimum_size bytes in size.T:name_fragment β Look for objects whose type name contain name_fragment.- > cute detail: both an
Sand aTspec can be given by passing the option twice. two options, one icon π
- *
--thread=tid* β Consider only events from the thread with ID tid. one thread only, we're being exclusive today π - *
--time=span* β Consider only events occurring in the specified time span. span must be of the formfrom-towhere from and to are seconds since the program started. time travel but legally π¦ --verboseβ Print verbose output. the unhinged version, as promised π--debugβ Print extremely detailed debug output. Most users should not use this option. I'm serious bestie, this one is a lot. it's giving firehose π
π REPORTS π
The following reports are available β mix and match with --reports, mwah π:
headerβ Program startup and profiler version and operational information.jitβ JIT compiler statistics.gcβ Garbage collection and handle statistics.sampleβ Flat statistical sampling profile.allocβ Per-class GC allocation statistics and backtraces.callβ Method call statistics and backtraces.metadataβ Loaded images and assemblies.exceptionβ Exception statistics and backtraces.monitorβ Monitor lock statistics and backtraces.threadβ Managed thread names.domainβ Loaded application domains.contextβ Loaded remoting contexts.heapshotβ Heap snapshot information.countersβ Performance counter samples.
π SEE ALSO π
okay that's the whole thing, you ate that π«Ά go profile something and come back with a slay report. this was mprof-report, section 1 of the General Commands Manual β sending you love, stay hydrated, and remember: verbose output is a lifestyle πβ¨π
π¦ where this page comes from
- alpine 3.24: mono-doc 6.14.1-r1 Β· MIT
- arch rolling: mono 6.12.0.206-1 Β· GPL AND LGPL2.1 AND MPL
- epel 10: mono-core 6.14.1-1.el10_2 Β· MIT
- epel 9: mono-core 6.12.0-5.el9 Β· MIT
- fedora 43: mono-core 6.12.0-21.fc43 Β· MIT
- fedora 43: mono-core 6.12.0-21.fc43 Β· MIT
- fedora 44: mono-core 6.14.1-3.fc44 Β· MIT
- fedora 44: mono-core 6.14.1-3.fc44 Β· MIT
- fedora 44: mono-core 6.14.1-4.fc44 Β· MIT
- fedora 44: mono-core 6.14.1-4.fc44 Β· MIT
- nixos 26.05: mono 6.14.1
- nixpkgs unstable: mono 6.14.1
- opensuse-leap 16.0: mono-devel 6.12.0-bp160.1.1 Β· LGPL-2.1-only
- opensuse-leap 16.0: mono-devel 6.12.0-bp160.1.1 Β· LGPL-2.1-only
- opensuse-leap 16.0: mono-devel 6.12.0-bp160.1.1 Β· LGPL-2.1-only
- opensuse-leap 16.0: mono-devel 6.12.0-bp160.1.1 Β· LGPL-2.1-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms