Causeway JSON
From Erights
Kevin Reid (Talk | contribs) (add CallSite stub) |
(Event doc, external links, multifile/abstract logging) |
||
(One intermediate revision not shown) | |||
Line 1: | Line 1: | ||
'''This page is only partly written!''' | '''This page is only partly written!''' | ||
- | The new log format for [[Causeway]] is based on [http://waterken.sourceforge.net/javadoc/org/ref_send | + | The new log format for [[Causeway]] is based on [http://waterken.sourceforge.net/javadoc/org/ref_send/package-summary.html the JSON serialization used by ref_send / Waterken Server] ([http://waterken.svn.sourceforge.net/viewvc/waterken/server/trunk/waterken/remote/src/org/waterken/syntax/json/JSONSerializer.java?view=markup implementation]). |
[http://waterken.sourceforge.net/javadoc/org/ref_send/log/package-summary.html The structure classes used by ref_send.] | [http://waterken.sourceforge.net/javadoc/org/ref_send/log/package-summary.html The structure classes used by ref_send.] | ||
- | A log is an array of | + | A log is abstractly a set of [[#Event|Event]]s. [[Causeway]] accepts an arbitrary number of files, each of which contains a JSON array of events. |
== Event == | == Event == | ||
+ | |||
+ | Event has a number of subclasses for specific events; the common structure records causality in general: | ||
+ | |||
+ | Fields: | ||
+ | * <code>anchor</code> :[[#Anchor|Anchor]] | ||
+ | * <code>trace</code> :[[#Trace|Trace]] | ||
+ | |||
+ | <var>anchor</var> records when, in what vat, this event occurred. <var>trace</var> records what caused this event, within the turn (except when the event is a Got event). | ||
+ | |||
+ | See also [http://waterken.sourceforge.net/javadoc/org/ref_send/log/Event.html Event in ref_send]. | ||
=== Sent === | === Sent === | ||
+ | |||
+ | See also [http://waterken.sourceforge.net/javadoc/org/ref_send/log/Sent.html Sent in ref_send]. | ||
=== SentIf === | === SentIf === | ||
+ | |||
+ | See also [http://waterken.sourceforge.net/javadoc/org/ref_send/log/SentIf.html SentIf in ref_send]. | ||
=== Got === | === Got === | ||
+ | |||
+ | See also [http://waterken.sourceforge.net/javadoc/org/ref_send/log/Got.html Got in ref_send]. | ||
=== Resolved === | === Resolved === | ||
+ | |||
+ | See also [http://waterken.sourceforge.net/javadoc/org/ref_send/log/Resolved.html Resolved in ref_send]. | ||
+ | |||
+ | === Comment === | ||
+ | |||
+ | See also [http://waterken.sourceforge.net/javadoc/org/ref_send/log/Comment.html Comment in ref_send]. | ||
== Trace == | == Trace == | ||
== CallSite == | == CallSite == | ||
+ | |||
+ | A stack frame. | ||
+ | |||
+ | Fields: | ||
+ | * <code>name</code> :[[String]], the name of the method/code being executed. | ||
+ | * <code>source</code> :[[String]], the path of the source file. | ||
+ | * optional <code>span</code> :[[List]]<nowiki>[</nowiki>[[List]]<nowiki>[</nowiki>[[int]]]], the span in the source file. | ||
+ | |||
+ | See also [http://waterken.sourceforge.net/javadoc/org/ref_send/log/CallSite.html CallSite in ref_send]. | ||
== Anchor == | == Anchor == | ||
+ | |||
+ | An Anchor denotes the relative time of occurrence of an event. | ||
+ | |||
+ | Fields: | ||
+ | * <code>turn</code> :[[#Turn|Turn]] | ||
+ | * <code>number</code> :[[int]] | ||
+ | |||
+ | <var>number</var> specifies the ordering of this event among the events occurring in <var>turn</var>. The numbering may be sparse. | ||
+ | |||
+ | See also [http://waterken.sourceforge.net/javadoc/org/ref_send/log/Anchor.html Anchor in ref_send]. | ||
+ | |||
+ | == Turn == | ||
+ | |||
+ | A Turn identifies some turn in some event loop. | ||
+ | |||
+ | Fields: | ||
+ | * <code>loop</code> :[[String]] | ||
+ | * <code>number</code> :[[int]] | ||
+ | |||
+ | <var>number</var> specifies the ordering of this turn among the turns executed by the event loop which is identified by the URI <var>loop</var>. The numbering may be sparse. | ||
+ | |||
+ | See also [http://waterken.sourceforge.net/javadoc/org/ref_send/log/Turn.html Turn in ref_send]. | ||
== Discussion == | == Discussion == | ||
- | * [http://www.eros-os.org/pipermail/e-lang/2008-March/012658.html Thread start (3 messages): [e-lang] Fwd: a couple of points about Causeway — Sun Mar 23 23:21:16 EDT 2008] | + | * [http://www.eros-os.org/pipermail/e-lang/2008-March/012658.html Thread start (3 messages): [e-lang<nowiki>]</nowiki> Fwd: a couple of points about Causeway — Sun Mar 23 23:21:16 EDT 2008] |
- | * [http://www.eros-os.org/pipermail/e-lang/2008-July/012798.html Thread start: [e-lang] Causeway JSON format doc? — Wed Jul 30 21:07:31 CDT 2008] | + | * [http://www.eros-os.org/pipermail/e-lang/2008-July/012798.html Thread start: [e-lang<nowiki>]</nowiki> Causeway JSON format doc? — Wed Jul 30 21:07:31 CDT 2008] |
** [http://www.eros-os.org/pipermail/e-lang/2008-August/012802.html Continuation in next month's archive] | ** [http://www.eros-os.org/pipermail/e-lang/2008-August/012802.html Continuation in next month's archive] |
Latest revision as of 13:38, 8 August 2008
This page is only partly written!
The new log format for Causeway is based on the JSON serialization used by ref_send / Waterken Server (implementation).
The structure classes used by ref_send.
A log is abstractly a set of Events. Causeway accepts an arbitrary number of files, each of which contains a JSON array of events.
Contents |
Event
Event has a number of subclasses for specific events; the common structure records causality in general:
Fields:
anchor records when, in what vat, this event occurred. trace records what caused this event, within the turn (except when the event is a Got event).
See also Event in ref_send.
Sent
See also Sent in ref_send.
SentIf
See also SentIf in ref_send.
Got
See also Got in ref_send.
Resolved
See also Resolved in ref_send.
Comment
See also Comment in ref_send.
Trace
CallSite
A stack frame.
Fields:
-
name
:String, the name of the method/code being executed. -
source
:String, the path of the source file. - optional
span
:List[List[int]], the span in the source file.
See also CallSite in ref_send.
Anchor
An Anchor denotes the relative time of occurrence of an event.
Fields:
number specifies the ordering of this event among the events occurring in turn. The numbering may be sparse.
See also Anchor in ref_send.
Turn
A Turn identifies some turn in some event loop.
Fields:
number specifies the ordering of this turn among the turns executed by the event loop which is identified by the URI loop. The numbering may be sparse.
See also Turn in ref_send.