@cryptotaxi247 / netdata-1 / commits / f4ed68f9b

minor - add kaitaistruct for journal v2 files (#14267)

add kaitaistruct for journal v2 files

Timotej S committed Jan 17, 2023 at 13:45 UTC f4ed68f9b528ebbfadf2a076776746e6267e7ecb
1 file changed +144
database/engine/journalfile.ksy new
+144
@@ -0,0 +1,144 @@
1 +meta:
2 + id: netdata_journalfile_v2
3 + endian: le
4 +
5 +seq:
6 + - id: journal_v2_header
7 + type: journal_v2_header
8 + size: 4096
9 + - id: extent_list
10 + type: journal_v2_extent_list
11 + repeat: expr
12 + repeat-expr: journal_v2_header.extent_count
13 + - id: extent_trailer
14 + type: journal_v2_block_trailer
15 + - id: metric_list
16 + type: journal_v2_metric_list
17 + repeat: expr
18 + repeat-expr: journal_v2_header.metric_count
19 + - id: metric_trailer
20 + type: journal_v2_block_trailer
21 + - id: page_blocs
22 + type: jounral_v2_page_blocs
23 + size: _root._io.size - _root._io.pos - 4
24 + - id: journal_file_trailer
25 + type: journal_v2_block_trailer
26 +
27 +
28 +types:
29 + journal_v2_metric_list:
30 + seq:
31 + - id: uuid
32 + size: 16
33 + - id: entries
34 + type: u4
35 + - id: page_offset
36 + type: u4
37 + - id: delta_start_s
38 + type: u4
39 + - id: delta_end_s
40 + type: u4
41 + instances:
42 + page_block:
43 + type: journal_v2_page_block
44 + io: _root._io
45 + pos: page_offset
46 + journal_v2_page_hdr:
47 + seq:
48 + - id: crc
49 + type: u4
50 + - id: uuid_offset
51 + type: u4
52 + - id: entries
53 + type: u4
54 + - id: uuid
55 + size: 16
56 + journal_v2_page_list:
57 + seq:
58 + - id: delta_start_s
59 + type: u4
60 + - id: delta_end_s
61 + type: u4
62 + - id: extent_idx
63 + type: u4
64 + - id: update_every_s
65 + type: u4
66 + - id: page_len
67 + type: u2
68 + - id: type
69 + type: u1
70 + - id: reserved
71 + type: u1
72 + instances:
73 + extent:
74 + io: _root._io
75 + type: journal_v2_extent_list
76 + pos: _root.journal_v2_header.extent_offset + (extent_idx * 16)
77 + journal_v2_header:
78 + seq:
79 + - id: magic
80 + contents: [ 0x19, 0x10, 0x22, 0x01 ] #0x01221019
81 + - id: reserved
82 + type: u4
83 + - id: start_time_ut
84 + type: u8
85 + - id: end_time_ut
86 + type: u8
87 + - id: extent_count
88 + type: u4
89 + - id: extent_offset
90 + type: u4
91 + - id: metric_count
92 + type: u4
93 + - id: metric_offset
94 + type: u4
95 + - id: page_count
96 + type: u4
97 + - id: page_offset
98 + type: u4
99 + - id: extent_trailer_offset
100 + type: u4
101 + - id: metric_trailer_offset
102 + type: u4
103 + - id: original_file_size
104 + type: u4
105 + - id: total_file_size
106 + type: u4
107 + - id: data
108 + type: u8
109 + instances:
110 + trailer:
111 + io: _root._io
112 + type: journal_v2_block_trailer
113 + pos: _root._io.size - 4
114 + journal_v2_block_trailer:
115 + seq:
116 + - id: checksum
117 + type: u4
118 + journal_v2_extent_list:
119 + seq:
120 + - id: datafile_offset
121 + type: u8
122 + - id: datafile_size
123 + type: u4
124 + - id: file_idx
125 + type: u2
126 + - id: page_cnt
127 + type: u1
128 + - id: padding
129 + type: u1
130 + journal_v2_page_block:
131 + seq:
132 + - id: hdr
133 + type: journal_v2_page_hdr
134 + - id: page_list
135 + type: journal_v2_page_list
136 + repeat: expr
137 + repeat-expr: hdr.entries
138 + - id: block_trailer
139 + type: journal_v2_block_trailer
140 + jounral_v2_page_blocs:
141 + seq:
142 + - id: blocs
143 + type: journal_v2_page_block
144 + repeat: eos