Import Debian changes 20180207-1
[hcoop/debian/mlton.git] / doc / guide / localhost / MLmon
CommitLineData
7f918cf1
CE
1<!DOCTYPE html>\r
2<html lang="en">\r
3<head>\r
4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\r
5<meta name="generator" content="AsciiDoc 8.6.9">\r
6<title>MLmon</title>\r
7<link rel="stylesheet" href="./asciidoc.css" type="text/css">\r
8<link rel="stylesheet" href="./pygments.css" type="text/css">\r
9\r
10\r
11<script type="text/javascript" src="./asciidoc.js"></script>\r
12<script type="text/javascript">\r
13/*<![CDATA[*/\r
14asciidoc.install();\r
15/*]]>*/\r
16</script>\r
17<link rel="stylesheet" href="./mlton.css" type="text/css">\r
18</head>\r
19<body class="article">\r
20<div id="banner">\r
21<div id="banner-home">\r
22<a href="./Home">MLton 20180207</a>\r
23</div>\r
24</div>\r
25<div id="header">\r
26<h1>MLmon</h1>\r
27</div>\r
28<div id="content">\r
29<div id="preamble">\r
30<div class="sectionbody">\r
31<div class="paragraph"><p>An <span class="monospaced">mlmon.out</span> file records dynamic <a href="Profiling">profiling</a> counts.</p></div>\r
32</div>\r
33</div>\r
34<div class="sect1">\r
35<h2 id="_file_format">File format</h2>\r
36<div class="sectionbody">\r
37<div class="paragraph"><p>An <span class="monospaced">mlmon.out</span> file is a text file with a sequence of lines.</p></div>\r
38<div class="ulist"><ul>\r
39<li>\r
40<p>\r
41The string "<span class="monospaced">MLton prof</span>".\r
42</p>\r
43</li>\r
44<li>\r
45<p>\r
46The string "<span class="monospaced">alloc</span>", "<span class="monospaced">count</span>", or "<span class="monospaced">time</span>", depending on the kind\r
47of profiling information, corresponding to the command-line argument\r
48supplied to <span class="monospaced">mlton -profile</span>.\r
49</p>\r
50</li>\r
51<li>\r
52<p>\r
53The string "<span class="monospaced">current</span>" or "<span class="monospaced">stack</span>" depending on whether profiling\r
54data was gathered for only the current function (the top of the stack)\r
55or for all functions on the stack. This corresponds to whether the\r
56executable was compiled with <span class="monospaced">-profile-stack false</span> or <span class="monospaced">-profile-stack\r
57true</span>.\r
58</p>\r
59</li>\r
60<li>\r
61<p>\r
62The magic number of the executable.\r
63</p>\r
64</li>\r
65<li>\r
66<p>\r
67The number of non-gc ticks, followed by a space, then the number of\r
68GC ticks.\r
69</p>\r
70</li>\r
71<li>\r
72<p>\r
73The number of (split) functions for which data is recorded.\r
74</p>\r
75</li>\r
76<li>\r
77<p>\r
78A line for each (split) function with counts. Each line contains an\r
79integer count of the number of ticks while the function was current.\r
80In addition, if stack data was gathered (<span class="monospaced">-profile-stack true</span>), then\r
81the line contains two additional tick counts:\r
82</p>\r
83<div class="ulist"><ul>\r
84<li>\r
85<p>\r
86the number of ticks while the function was on the stack.\r
87</p>\r
88</li>\r
89<li>\r
90<p>\r
91the number of ticks while the function was on the stack and a GC\r
92 was performed.\r
93</p>\r
94</li>\r
95</ul></div>\r
96</li>\r
97<li>\r
98<p>\r
99The number of (master) functions for which data is recorded.\r
100</p>\r
101</li>\r
102<li>\r
103<p>\r
104A line for each (master) function with counts. The lines have the\r
105same format and meaning as with split-function counts.\r
106</p>\r
107</li>\r
108</ul></div>\r
109</div>\r
110</div>\r
111</div>\r
112<div id="footnotes"><hr></div>\r
113<div id="footer">\r
114<div id="footer-text">\r
115</div>\r
116<div id="footer-badges">\r
117</div>\r
118</div>\r
119</body>\r
120</html>\r