From 457d8b0a0cff67a7489b7eead5b8b26701b430f8 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Mon, 4 Apr 2011 14:28:25 -0400 Subject: [PATCH 1/1] Explain dynamic scope vs current context Signed-off-by: Mathieu Desnoyers --- common-trace-format-proposal.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/common-trace-format-proposal.txt b/common-trace-format-proposal.txt index 361c2ec..4cb6942 100644 --- a/common-trace-format-proposal.txt +++ b/common-trace-format-proposal.txt @@ -791,7 +791,8 @@ variant field), a declaration is followed by a declarator, which specify the newly defined type name (for typedef), or the field name (for declarations located within structure and variants). Array and sequence, declared with square brackets ("[" "]"), are part of the declarator, -similarly to C99. +similarly to C99. The enumeration type specifier and variant tag name +(both specified with "<" ">") are part of the type specifier. A definition associates a type to a location in the event structure hierarchy (see Section 6). @@ -845,6 +846,12 @@ different scopes. There is no possible conflict, because the dynamic scope must be specified when a variant refers to a tag field located in a different dynamic scope. +The information available in the dynamic scopes can be thought of as the +current tracing context. At trace production, information about the +current context is saved into the specified scope field levels. At trace +consumption, for each event, the current trace context is therefore +readable by accessing the upper dynamic scopes. + 7.2 Metadata Examples -- 2.34.1