speedb-io / log-parser

A tool for analyzing and parsing SpeedB and RocksDB log files
Apache License 2.0
21 stars 1 forks source link

IndexError parsing a log file with cropped compaction stats header line #21

Closed udi-speedb closed 1 year ago

udi-speedb commented 1 year ago

A log file with the following compaction stats dump:

** Compaction Stats [column_family_name_000026] **
Level    Files   Size     Score Read(GB)  Rn(GB) Rnp1(GB) Write(GB) Wnew(GB) Moved(GB) W-Amp Rd(MB/s) Wr(MB/s) Comp(sec) CompMergeCPU(sec) Comp(cnt) Avg(s

Results in the following:

python3 log_parser.py -j -c short LOG-fillrandom 
Traceback (most recent call last):
  File "log_parser.py", line 352, in <module>
    main()
  File "log_parser.py", line 292, in main
    parsed_log = parse_log(log_file_path)
  File "log_parser.py", line 73, in parse_log
    return ParsedLog(log_file_path, log_lines,
  File "log-parser/log_file.py", line 184, in __init__
    self.parse_rest_of_log()
  File "log-parser/log_file.py", line 470, in parse_rest_of_log
    if self.try_parse_as_stats_entries():
  File "log-parser/log_file.py", line 412, in try_parse_as_stats_entries
    self.stats_mngr.try_adding_entries(self.log_entries,
  File "log-parser/stats_mngr.py", line 1130, in try_adding_entries
    self.parse_next_db_stats_entry_lines(
  File "log-parser/stats_mngr.py", line 1044, in parse_next_db_stats_entry_lines
    self.compaction_stats_mngr.add_lines(time, cf_name,
  File "log-parser/stats_mngr.py", line 268, in add_lines
    self.parse_level_lines(time, cf_name, stats_lines[1:])
  File "log-parser/stats_mngr.py", line 329, in parse_level_lines
    stats_lines[1])
IndexError: list index out of range