-
Notifications
You must be signed in to change notification settings - Fork 30
V2 Log Encoding
The log format encodes into a single file, multiple histograms with optional shared meta data.
([MetaData]\n)*
[ColumnHeaders]\n
([Histogram]\n)*
#[StartTime|BaseTime|Comment]
Meta data rows include comments, the StartTime and the BaseTime for the set of Histograms being logged
[StartTime:\d*.\d{1,3}
Start time is represented as seconds since epoch with up to 3 decimal places. Line starts with the leading text '#[StartTime:'
[BaseTime:\d*.\d
Base time is represented as seconds since epoch with up to 3 decimal places. Line starts with the leading text '#[BaseTime:'
.*
A comment is any line that leads with '#' that is not matched by the BaseTime or StartTime formats. Comments are ignored when parsed.
StartTimestamp.*
Human readable column headers. Ignored when parsed.
([Tag],)[LogTimeStamp],[IntervalLengthSeconds],[MaxTime],[CompressedPayload]
Tag=\s+
The Tag
is an optional string value used to help provide custom metadata for the Histogram.
The value is a string.
The Tag
value may not include commas, spaces or line breaks.
If no Tag
value is provided, then the prefix of Tag=
and trailing ,
can be omitted.
\d*.\d*
The LogTimeStamp
is the start time of the Histogram in seconds since the BaseTime
measured as a double.
If the BaseTime
is not provided, then this is an absolute time in seconds.
\d*.\d*
The interval length is the total time in seconds that the Histogram has measured.
\d*.\d*
The MaxTime
is the finish time in seconds since the BaseTime
measured as a double.
This is ignored as it can be inferred from the LogTimeStamp
and the IntervalLengthSeconds
BASE64(
DEFLATE(
[Histogram]
)
)
The compressed payload is a Base64Encoded, ZLIB compressed encoding (RFC-1950) of an HdrHistogram.
The Encoded-Histogram-format is a standard format.