default namespace = "http://www.nongnu.org/watt/xmlns/detail/1.0" start = Stage.Toplevel Stage.Nestable = Stage | Transaction Stage.Toplevel = Process | HttpRequest | Program Stage = element stage { Stage.Content } Stage.Content = attribute name { xsd:string }, StartEnd.Attr, element attr { attribute name { xsd:string }, text }*, Stage.Nestable*, Operation.Any* StartEnd.Attr = attribute start { xsd:int }, attribute end { xsd:int } Process = element process { Process.Content } Process.Content = Stage.Content, attribute host { xsd:string }, attribute pid { xsd:int }, attribute result { "pass" | "fail" }, Exception? HttpRequest = element httprequest { Process.Content, attribute url { text }, attribute method { text }, attribute saddr { text }, attribute sport { text }, element cookie { attribute name { text }, attribute value { text }, attribute expires { text }?, attribute path { text }? }*, Param* } Param = element param { attribute name { text }, attribute value { text } } Program = element program { Process.Content, attribute path { text }, attribute uid { text }, attribute gid { text }, element arg { text }* } Transaction = element txn { Stage.Content, StartEnd.Attr, attribute status { "commit" | "abort" }, Exception? } Operation.Any = Operation | DbOperation | MsgOperation | RpcOperation Operation = element op { Operation.Content } Operation.Content = StartEnd.Attr, Exception?, StackTrace? DbOperation = element dbop { Operation.Content, attribute rows { text }?, attribute error { text }?, element stmt { text }, element bind { text }* } MsgOperation = element msgop { Operation.Content, attribute queue { text }, attribute action { "get" | "put" } } RpcOperation = element rpcop { Operation.Content, attribute object { text }, attribute method { text }, attribute action { "call" | "signal" }, Param* } Exception = element exception { attribute message { xsd:string }, attribute type { xsd:string }, StackTrace.Content } StackTrace = element stacktrace { StackTrace.Content } StackTrace.Content = StackFrame+ StackFrame = element stackframe { attribute object { xsd:string }, attribute method { xsd:string }, attribute file { xsd:string }, attribute line { xsd:int } }