Causeway JSON

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.

Event
Event has a number of subclasses for specific events; the common structure records causality in general:

Fields:
 * :Anchor
 * :Trace

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.

CallSite
A stack frame.

Fields:
 * :String, the name of the method/code being executed.
 * :String, the path of the source file.
 * optional  :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:
 * :Turn
 * :int

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:
 * :String
 * :int

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.

Discussion

 * Thread start (3 messages): [e-lang Fwd: a couple of points about Causeway — Sun Mar 23 23:21:16 EDT 2008]
 * Thread start: [e-lang Causeway JSON format doc? — Wed Jul 30 21:07:31 CDT 2008]
 * Continuation in next month's archive