Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Annotation of /branches/cuda/src/logging/log-view.json
ViewVC logotype

Annotation of /branches/cuda/src/logging/log-view.json

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5597 - (view) (download) (as text)

1 : jhr 5597 /* log-events.json
2 :     *
3 :     * This code is part of the Diderot Project (http://diderot-language.cs.uchicago.edu)
4 :     *
5 :     * This code was ported from the Manticore project (http://manticore.cs.uchicago.edu)
6 :     *
7 :     * COPYRIGHT (c) 2016 The University of Chicago
8 :     * All rights reserved.
9 :     *
10 :     * This file describes a "semantics" of the events that can be logged by the Manticore
11 :     * system. It is used by viewing programs to provide structure to the log files.
12 :     *
13 :     * The file is a single JSON object with three fields:
14 :     *
15 :     * date -- a string representing the YYYYMMDD date as a hexadecimal literal.
16 :     *
17 :     * version -- an array of three integers representing the major, minor, and patch-level
18 :     * version numbers of the file. The version numbers should be increased as
19 :     * follows:
20 :     * -- increase the patch number when changing the description of an event or
21 :     * argument, or changing the group structure.
22 :     * -- increase the minor-version number when adding new events to the end of
23 :     * the file. Such changes should not effect existing logs with the same
24 :     * major-version number.
25 :     * -- increase the major version number when changing the order of events,
26 :     * or changing the order, number, or type of arguments of existing events.
27 :     *
28 :     * root -- the root event group
29 :     *
30 :     * All groups have the following two fields:
31 :     *
32 :     * desc -- English-language description of group
33 :     *
34 :     * kind -- one of
35 :     * "GROUP" -- group of events and groups
36 :     * "STATE" -- state group
37 :     * "INTERVAL" -- interval event group
38 :     * "DEPENDENT" -- dependent event group
39 :     *
40 :     * If the kind field is "GROUP", then there are two additional fields:
41 :     *
42 :     * events -- an array of event descriptors.
43 :     *
44 :     * groups -- an array of subgroups.
45 :     *
46 :     * If the kind field is "STATE", then there are three or four additional fields:
47 :     *
48 :     * start -- the initial state
49 :     *
50 :     * states -- an array of state names.
51 :     *
52 :     * colors -- an optional array of colors; one per state. Colors are
53 :     * specified using the syntax "#rrggbb" or "#rrggbbaa", where
54 :     * the rr, gg, bb, and aa are two-digit hex numbers.
55 :     *
56 :     * transitions
57 :     * -- an array of transitions, which are event name/state name pairs
58 :     *
59 :     * If the kind field is "INTERVAL", then there are three additional fields:
60 :     *
61 :     * start -- the start of the interval
62 :     *
63 :     * end -- the end of the interval
64 :     *
65 :     * color -- an optional color specification
66 :     *
67 :     * If the kind field is "DEPENDENT", then there are two additional fields:
68 :     *
69 :     * src -- the source of the dependent event
70 :     *
71 :     * dst -- the destination of the interval
72 :     *
73 :     * color -- an optional color specification
74 :     */
75 :     {
76 :     "date" : "0x20161219",
77 :     "version" : [1, 0, 0],
78 :     "root" : {
79 :     "desc" : "All events",
80 :     "kind" : "GROUP",
81 :     "events" : [ "NoEvent" ],
82 :     "groups" : [
83 :     { "desc" : "Scheduler events",
84 :     "kind" : "GROUP",
85 :     "events" : [ "SchedulerStart", "SchedulerShutdown" ],
86 :     "groups" : []
87 :     },
88 :     { "desc" : "Worker events",
89 :     "kind" : "GROUP",
90 :     "events" : [
91 :     "WorkerStart", "WorkerExit", "GetStrandBlock", "GotStrandBlock", "NoStrandBlock"
92 :     ],
93 :     "groups" : []
94 :     },
95 :     { "desc" : "Worker-gate synchronization events",
96 :     "kind" : "GROUP",
97 :     "events" : [
98 :     "WorkerGateWait", "ControllerGateWait", "GateReleaseWorkers",
99 :     "WorkerGateResume", "ControllerGateResume"
100 :     ],
101 :     "groups" : []
102 :     },
103 :     { "desc" : "Leader-barrier synchronization events",
104 :     "kind" : "GROUP",
105 :     "events" : [
106 :     "LeaderBarrierWait", "LeaderBarrierResume", "LeaderBarrierRelease",
107 :     "LeaderBarrierAllWait", "LeaderBarrierAllResume"
108 :     ],
109 :     "groups" : []
110 :     },
111 :     { "desc" : "Barrier synchronization events",
112 :     "kind" : "GROUP",
113 :     "events" : [
114 :     "BarrierWait", "BarrierResume"
115 :     ],
116 :     "groups" : []
117 :     },
118 :     { "desc" : "KD-Tree Events",
119 :     "kind" : "GROUP",
120 :     "events" : [
121 :     "KDTreeRebuildStart", "KDTreeRebuildDone"
122 :     ],
123 :     "groups" : []
124 :     },
125 :     { "desc" : "Strand Events",
126 :     "kind" : "GROUP",
127 :     "events" : [
128 :     "StrandStart", "StrandUpdate", "StrandDie", "StrandStabilize"
129 :     ],
130 :     "groups" : []
131 :     }
132 :     ]
133 :     }
134 :     }

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0