meta: id: journalfile_v2`'ifdef(`VIRT_MEMBERS',`_virtmemb') endian: le application: netdata file-extension: njfv2 license: GPL-3.0-or-later seq: - id: journal_v2_header type: journal_v2_header size: 4096 - id: extent_list type: journal_v2_extent_list repeat: expr repeat-expr: journal_v2_header.extent_count - id: extent_trailer type: journal_v2_block_trailer - id: metric_list type: journal_v2_metric_list repeat: expr repeat-expr: journal_v2_header.metric_count - id: metric_trailer type: journal_v2_block_trailer - id: page_blocs type: journal_v2_page_block repeat: expr repeat-expr: _root.journal_v2_header.metric_count - id: padding size: _root._io.size - _root._io.pos - 4 - id: journal_file_trailer type: journal_v2_block_trailer types: journal_v2_metric_list: seq: - id: uuid size: 16 - id: entries type: u4 - id: page_offset type: u4 - id: delta_start_s type: u4 - id: delta_end_s type: u4 ifdef(`VIRT_MEMBERS', ` instances: page_block: type: journal_v2_page_block io: _root._io pos: page_offset ')dnl journal_v2_page_hdr: seq: - id: crc type: u4 - id: uuid_offset type: u4 - id: entries type: u4 - id: uuid size: 16 journal_v2_page_list: seq: - id: delta_start_s type: u4 - id: delta_end_s type: u4 - id: extent_idx type: u4 - id: update_every_s type: u4 - id: page_len type: u2 - id: type type: u1 - id: reserved type: u1 ifdef(`VIRT_MEMBERS', ` instances: extent: io: _root._io type: journal_v2_extent_list pos: _root.journal_v2_header.extent_offset + (extent_idx * 16) ')dnl journal_v2_header: seq: - id: magic contents: [ 0x19, 0x10, 0x22, 0x01 ] #0x01221019 - id: reserved type: u4 - id: start_time_ut type: u8 - id: end_time_ut type: u8 - id: extent_count type: u4 - id: extent_offset type: u4 - id: metric_count type: u4 - id: metric_offset type: u4 - id: page_count type: u4 - id: page_offset type: u4 - id: extent_trailer_offset type: u4 - id: metric_trailer_offset type: u4 - id: original_file_size type: u4 - id: total_file_size type: u4 - id: data type: u8 ifdef(`VIRT_MEMBERS', ` instances: trailer: io: _root._io type: journal_v2_block_trailer pos: _root._io.size - 4 ')dnl journal_v2_block_trailer: seq: - id: checksum type: u4 journal_v2_extent_list: seq: - id: datafile_offset type: u8 - id: datafile_size type: u4 - id: file_idx type: u2 - id: page_cnt type: u1 - id: padding type: u1 journal_v2_page_block: seq: - id: hdr type: journal_v2_page_hdr - id: page_list type: journal_v2_page_list repeat: expr repeat-expr: hdr.entries - id: block_trailer type: journal_v2_block_trailer