X-Git-Url: http://git.efficios.com/?p=ctf.git;a=blobdiff_plain;f=common-trace-format-specification.txt;h=545fbc7ebaa98ffeb602e481fcf038935c476ade;hp=90a669b849a4fb45f7b47e66723f64e1c3217f12;hb=a40cccda464fe11361936121b51cdaa635508c29;hpb=aed18b5ef592ac98d04d023cf40d38598bb062d8 diff --git a/common-trace-format-specification.txt b/common-trace-format-specification.txt index 90a669b..545fbc7 100644 --- a/common-trace-format-specification.txt +++ b/common-trace-format-specification.txt @@ -1256,40 +1256,42 @@ Describing a clock and how it is used by streams is threefold: first, the clock and clock topology should be described in a "clock" description block, e.g.: -typealias integer { size = 32; align = 32; signed = true } := uint32_t; - -enum clocks : uint32_t { - cycle_counter, -}; - -clock[cycle_counter] { +clock { + name = cycle_counter_sync; uuid = "62189bee-96dc-11e0-91a8-cfa3d89f3923"; - description = "Local CPU cycle counter"; + description = "Cycle counter synchronized across CPUs"; freq = 1000000000; /* frequency, in Hz */ /* precision in seconds is: 1000 * (1/freq) */ precision = 1000; - /* clock value offset from Epoch is: offset * (1/freq) */ - offset = 1326476837897235420; + /* + * clock value offset from Epoch is: + * offset_s + (offset * (1/freq)) + */ + offset_s = 1326476837; + offset = 897235420; }; -The optional field "uuid" is the unique identifier of the clock. It can -be used to correlate different traces that use the same clock. An -optional textual description string can be added with the "description" -field. The "freq" field is the initial frequency of the clock, in Hz. If -the "freq" field is not present, the frequency is assumed to be -1000000000 (providing clock increment of 1 ns). The optional "precision" -field details the uncertainty on the clock measurements, in (1/freq) -units. The "offset" field indicates the offset from POSIX.1 Epoch, -1970-01-01 00:00:00 +0000 (UTC), to the zero of value of the clock, in -(1/freq) units. If the "offset" field is not present, it is assigned the -0 value. +The mandatory "name" field specifies the name of the clock identifier, +which can later be used as a reference. The optional field "uuid" is the +unique identifier of the clock. It can be used to correlate different +traces that use the same clock. An optional textual description string +can be added with the "description" field. The "freq" field is the +initial frequency of the clock, in Hz. If the "freq" field is not +present, the frequency is assumed to be 1000000000 (providing clock +increment of 1 ns). The optional "precision" field details the +uncertainty on the clock measurements, in (1/freq) units. The "offset_s" +and "offset" fields indicate the offset from POSIX.1 Epoch, 1970-01-01 +00:00:00 +0000 (UTC), to the zero of value of the clock. The "offset_s" +field is in seconds. The "offset" field is in (1/freq) units. If any of +the "offset_s" or "offset" field is not present, it is assigned the 0 +value. Secondly, a reference to this clock should be added within an integer type: typealias integer { size = 64; align = 1; signed = false; - map = clock[cycle_counter].value; + map = clock.cycle_counter_sync.value; } := uint64_ccnt_t; Thirdly, stream declarations can reference the clock they use as a