/usr/share/doc/racket/future-visualizer/future-visualizer-timeline.html is in racket-doc 6.7-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>1 Execution Timeline</title><link rel="stylesheet" type="text/css" href="../scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="../racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../doc-site.css" title="default"/><script type="text/javascript" src="../scribble-common.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../doc-site.js"></script><script type="text/javascript" src="../local-redirect/local-redirect.js"></script><script type="text/javascript" src="../local-redirect/local-user-redirect.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="doc-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,"tocview_0");">▼</a></td><td></td><td><a href="index.html" class="tocviewlink" data-pltdoc="x">Futures Visualizer</a></td></tr></table></div><div class="tocviewsublistonly" style="display: block;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1 </td><td><a href="" class="tocviewselflink" data-pltdoc="x">Execution Timeline</a></td></tr><tr><td align="right">2 </td><td><a href="future-visualizer-tree.html" class="tocviewlink" data-pltdoc="x">Future Creation Tree</a></td></tr><tr><td align="right">3 </td><td><a href="futures-trace.html" class="tocviewlink" data-pltdoc="x">Futures Tracing</a></td></tr></table></div></div></div><div class="tocsub"><div class="tocsubtitle">On this page:</div><table class="tocsublist" cellspacing="0"><tr><td><a href="#%28def._%28%28lib._future-visualizer%2Fmain..rkt%29._timeline-pict%29%29" class="tocsublink" data-pltdoc="x"><span class="RktSym"><span class="RktValLink">timeline-<wbr></wbr>pict</span></span></a></td></tr></table></div></div><div class="maincolumn"><div class="main"><div class="navsettop"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, "6.7", "../");" onfocus="this.style.color="black"; this.style.textAlign="left"; if (this.value == "...search manuals...") this.value="";" onblur="if (this.value.match(/^ *$/)) { this.style.color="#888"; this.style.textAlign="center"; this.value="...search manuals..."; }"/></form> <a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("6.7");">top</a></span><span class="navright"> <a href="index.html" title="backward to "Futures Visualizer"" data-pltdoc="x">← prev</a> <a href="index.html" title="up to "Futures Visualizer"" data-pltdoc="x">up</a> <a href="future-visualizer-tree.html" title="forward to "2 Future Creation Tree"" data-pltdoc="x">next →</a></span> </div><h3 x-source-module="(lib "future-visualizer/scribblings/future-visualizer.scrbl")" x-source-pkg="future-visualizer" x-part-tag=""future-visualizer-timeline"">1<tt> </tt><a name="(part._future-visualizer-timeline)"></a>Execution Timeline</h3><p>The <a name="(tech._execution._timeline)"></a><span style="font-style: italic">execution timeline</span>, shown in the top left-hand corner of the
profiler window, displays a history of the program
and all events associated with its futures, with OS-level threads
or <a name="(tech._processe)"></a><span style="font-style: italic">processes</span> organized along the y-axis and time increasing along
the x-axis. Garbage collections are shown as translucent maroon bars spanning
the height of the timeline. A coloring convention is used to distinguish between
different types of events (see <a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=futures.html%23%2528part._future-logging%2529&version=6.7" class="Sq" data-pltdoc="x">Future Performance Logging</a> for a full
description of these event types):</p><ul><li><p>Blue dot: <span class="RktVal">'</span><span class="RktVal">create</span></p></li><li><p>Green bar: <span class="RktVal">'</span><span class="RktVal">start-work</span>, <span class="RktVal">'</span><span class="RktVal">start-0-work</span></p></li><li><p>Orange dot: <span class="RktVal">'</span><span class="RktVal">sync</span></p></li><li><p>Red dot: <span class="RktVal">'</span><span class="RktVal">block</span>, <span class="RktVal">'</span><span class="RktVal">touch</span></p></li><li><p>White dot: <span class="RktVal">'</span><span class="RktVal">result</span>, <span class="RktVal">'</span><span class="RktVal">end-work</span></p></li><li><p>Green dot: <span class="RktVal">'</span><span class="RktVal">touch-pause</span>, <span class="RktVal">'</span><span class="RktVal">touch-resume</span></p></li><li><p>Maroon bar: <span class="RktVal">'</span><span class="RktVal">gc</span></p></li></ul><p>Mousing over any non-GC event connects it via purple lines to the sequence
of events for its future. Additionally, orange dotted lines
with arrowheads may be shown to indicate operations performed from
one future to another (e.g. <span class="RktVal">'</span><span class="RktVal">create</span> or <span class="RktVal">'</span><span class="RktVal">touch</span> actions).
To view details about two events simultaneously, a selection
can be tacked by clicking the mouse.</p><p>The timeline displays vertical lines at 100-microsecond intervals. Note that
though the time interval is fixed, the pixel distance between lines varies
based on the event density for any given time range to prevent overlapping
event circles.</p><p><div class="SIntrapara"><blockquote class="SVInsetFlow"><table cellspacing="0" cellpadding="0" class="boxed RBoxed"><tr><td><blockquote class="SubFlow"><div class="RBackgroundLabel SIEHidden"><div class="RBackgroundLabelInner"><p>procedure</p></div></div><table cellspacing="0" cellpadding="0" class="prototype RForeground"><tr><td valign="top"><span class="RktPn">(</span><a name="(def._((lib._future-visualizer/main..rkt)._timeline-pict))"></a><span title="Provided from: future-visualizer | Package: future-visualizer"><span class="RktSym"><a href="#%28def._%28%28lib._future-visualizer%2Fmain..rkt%29._timeline-pict%29%29" class="RktValDef RktValLink" data-pltdoc="x">timeline-pict</a></span></span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktVar">events</span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span>[</td><td valign="top"><span class="RktPn">#:x</span><span class="hspace"> </span><span class="RktVar">x</span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">#:y</span><span class="hspace"> </span><span class="RktVar">y</span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">#:width</span><span class="hspace"> </span><span class="RktVar">width</span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">#:height</span><span class="hspace"> </span><span class="RktVar">height</span></td><td valign="top"><span class="hspace"> </span></td></tr><tr><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="hspace"> </span></td><td valign="top"><span class="RktPn">#:selected-event-index</span><span class="hspace"> </span><span class="RktVar">selected-event-index</span>]<span class="RktPn">)</span></td><td valign="top"><span class="hspace"> </span></td></tr></table></blockquote></td></tr><tr><td><span class="hspace"> </span>→<span class="hspace"> </span><span class="RktSym">pict?</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">events</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym">listof</span><span class="hspace"> </span><span class="RktSym"><a href="futures-trace.html#%28def._%28%28lib._future-visualizer%2Ftrace..rkt%29._indexed-future-event~3f%29%29" class="RktValLink" data-pltdoc="x">indexed-future-event?</a></span><span class="RktPn">)</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">x</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=if.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fletstx-scheme..rkt%2529._or%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">or</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-nonnegative-integer%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">y</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=if.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fletstx-scheme..rkt%2529._or%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">or</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-nonnegative-integer%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">width</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=if.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fletstx-scheme..rkt%2529._or%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">or</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-nonnegative-integer%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">height</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=if.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fletstx-scheme..rkt%2529._or%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">or</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-nonnegative-integer%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">#f</span></td></tr><tr><td><span class="hspace"> </span><span class="RktVar">selected-event-index</span><span class="hspace"> </span>:<span class="hspace"> </span><span class="RktPn">(</span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=if.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fletstx-scheme..rkt%2529._or%2529%2529&version=6.7" class="RktStxLink Sq" data-pltdoc="x">or</a></span><span class="hspace"> </span><span class="RktVal">#f</span><span class="hspace"> </span><span class="RktSym"><a href="https://download.racket-lang.org/docs/6.7/html/local-redirect/index.html?doc=reference&rel=number-types.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._exact-nonnegative-integer%7E3f%2529%2529&version=6.7" class="RktValLink Sq" data-pltdoc="x">exact-nonnegative-integer?</a></span><span class="RktPn">)</span><span class="hspace"> </span>=<span class="hspace"> </span><span class="RktVal">#f</span></td></tr></table></blockquote></div><div class="SIntrapara">Returns a <span class="RktSym">pict</span> showing the execution timeline for the trace in <span class="RktVar">events</span>. The optional
arguments <span class="RktVar">x</span>, <span class="RktVar">y</span>, <span class="RktVar">width</span>, and <span class="RktVar">height</span> can be used to obtain a specific
area (in pixels) of the timeline image. The <span class="RktVar">selected-event-index</span> argument, if specified, shows
the timeline image as if the user placed the mouse pointer over the <span class="RktSym"><a href="futures-trace.html#%28def._%28%28lib._future-visualizer%2Ftrace..rkt%29._indexed-future-event%29%29" class="RktValLink" data-pltdoc="x">indexed-future-event</a></span> with
the corresponding index.</div></p><div class="navsetbottom"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, "6.7", "../");" onfocus="this.style.color="black"; this.style.textAlign="left"; if (this.value == "...search manuals...") this.value="";" onblur="if (this.value.match(/^ *$/)) { this.style.color="#888"; this.style.textAlign="center"; this.value="...search manuals..."; }"/></form> <a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot("6.7");">top</a></span><span class="navright"> <a href="index.html" title="backward to "Futures Visualizer"" data-pltdoc="x">← prev</a> <a href="index.html" title="up to "Futures Visualizer"" data-pltdoc="x">up</a> <a href="future-visualizer-tree.html" title="forward to "2 Future Creation Tree"" data-pltdoc="x">next →</a></span> </div></div></div><div id="contextindicator"> </div></body></html>
|