From bd5b3908c3605fb3bc51a1f3eb31e5750cbd2a89 Mon Sep 17 00:00:00 2001 From: Tim Stack Date: Wed, 9 Aug 2023 20:57:59 -0700 Subject: [PATCH] [formats] some tweaks --- src/base/date_time_scanner.cc | 7 ++- src/field_overlay_source.cc | 8 +++- src/formats/cloudvm_ram_log.json | 2 +- src/formats/esx_syslog_log.json | 11 ++++- src/formats/procstate_log.json | 4 +- src/formats/vmk_log.json | 18 ++++++- src/formats/vmw_py_log.json | 2 +- src/lnav_commands.cc | 2 +- src/lnav_config.cc | 6 ++- src/log_format.cc | 38 +++++++++++---- src/logfile_sub_source.cc | 15 ++++++ src/logfile_sub_source.hh | 2 + src/ptimec.hh | 9 ++++ src/session_data.cc | 4 ++ src/time_formats.am | 22 +++++++-- ...9c1f127c087ec2c6a23a0ecec4df7992cbc8b4.out | 4 +- ...09cb565f44a114d8c9a519e571918e30262eaf.out | 2 +- ...f4a91aa55262255816dff7d605f1f0a5d6fe92.out | 2 +- ...aae556ecb1661602f176215e28f661d3404032.out | 8 ++-- ...0fd242f57a96d40f466493938cda0789a094fa.out | 48 +++++++++---------- 20 files changed, 154 insertions(+), 60 deletions(-) diff --git a/src/base/date_time_scanner.cc b/src/base/date_time_scanner.cc index 72b7e5d6..e8eddc48 100644 --- a/src/base/date_time_scanner.cc +++ b/src/base/date_time_scanner.cc @@ -105,8 +105,8 @@ date_time_scanner::scan(const char* time_dest, tm_out->et_flags = 0; if (time_len > 1 && time_dest[0] == '+' && isdigit(time_dest[1])) { retval = nullptr; - auto epoch_scan_res = scn::scan_value( - scn::string_view{time_dest, time_len}); + auto sv = scn::string_view{time_dest, time_len}; + auto epoch_scan_res = scn::scan_value(sv); if (epoch_scan_res) { time_t gmt = epoch_scan_res.value(); @@ -124,8 +124,7 @@ date_time_scanner::scan(const char* time_dest, | ETF_MACHINE_ORIENTED | ETF_EPOCH_TIME; this->dts_fmt_lock = curr_time_fmt; - this->dts_fmt_len = std::distance(epoch_scan_res.begin(), - epoch_scan_res.end()); + this->dts_fmt_len = sv.length() - epoch_scan_res.range().size(); retval = time_dest + this->dts_fmt_len; found = true; break; diff --git a/src/field_overlay_source.cc b/src/field_overlay_source.cc index 3b8c45af..ac9a0701 100644 --- a/src/field_overlay_source.cc +++ b/src/field_overlay_source.cc @@ -461,9 +461,13 @@ field_overlay_source::build_meta_line(const listview_curses& lv, auto anno_msg = attr_line_t(" ") .append(":memo:"_emoji) - .append(" Annotations available, use ") + .append(" Annotations available, ") + .append(lv.get_selection() == row + ? "use " + : "focus on this line and use ") .append(":annotate"_quoted_code) - .append(" to apply them to this line") + .append(" to apply them") + .append(lv.get_selection() == row ? " to this line" : "") .with_attr_for_all(VC_ROLE.value(role_t::VCR_COMMENT)); dst.emplace_back(anno_msg); diff --git a/src/formats/cloudvm_ram_log.json b/src/formats/cloudvm_ram_log.json index 723cdaab..6e89678c 100644 --- a/src/formats/cloudvm_ram_log.json +++ b/src/formats/cloudvm_ram_log.json @@ -5,7 +5,7 @@ "description": "Periodic dumps of ram sizes", "regex": { "std": { - "pattern": "========== Start of cloudvm ram size dump at (?[^=]+)==========(?.*)" + "pattern": "========== Start of cloudvm ram size dump at (?.+) ==========(?.*)" } }, "sample": [ diff --git a/src/formats/esx_syslog_log.json b/src/formats/esx_syslog_log.json index 85fa8815..6e4a92b1 100644 --- a/src/formats/esx_syslog_log.json +++ b/src/formats/esx_syslog_log.json @@ -5,7 +5,7 @@ "description": "Format specific to the ESXi syslog", "regex": { "std": { - "pattern": "^(?(?:\\S{3,8}\\s+\\d{1,2} \\d{2}:\\d{2}:\\d{2}|\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z))\\s+(?\\w+)\\((?\\d+)\\)(?:\\[\\+\\]|\\+)?(?:(?: (?(?(?:[^\\[:]+|[^:]+))(?:\\[(?\\d+)\\])?):\\s*(?.*))$|:?(?:(?: ---)? last message repeated \\d+ times?(?: ---)?))" + "pattern": "^(?(?:\\S{3,8}\\s+\\d{1,2} \\d{2}:\\d{2}:\\d{2}|\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z))\\s+(?\\w+)\\((?\\d+)\\)(?:\\[\\+\\]|\\+)?(?:(?: (?(?(?:[^\\[:]+|[^:]+))(?:\\[(?\\d+)\\])?):\\s*(?:\\w+ \\[(?[^ ]+)(?: op[iI][dD]=(?[^ \\]]+))?\\]\\s*)?(?.*))$|:?(?:(?: ---)? last message repeated \\d+ times?(?: ---)?))" }, "host": { "pattern": "^(?(?:\\S{3,8}\\s+\\d{1,2} \\d{2}:\\d{2}:\\d{2}|\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z))\\s+(?\\w+)\\((?\\d+)\\)(?:\\[\\+\\]|\\+)?(?:(?: (?(?:host-(?\\d+))?)\\s+(?.*))$|:?(?:(?: ---)? last message repeated \\d+ times?(?: ---)?))" @@ -23,7 +23,7 @@ "critical": "^Cr$", "fatal": "^(?:Al|Em)$" }, - "opid-field": "log_syslog_tag", + "opid-field": "opid", "time-field": "new_time", "multiline": false, "value": { @@ -41,6 +41,10 @@ "log_syslog_tag": { "kind": "string" }, + "opid": { + "kind": "string", + "identifier": true + }, "syslog_pri": { "kind": "string" }, @@ -60,6 +64,9 @@ }, { "line": "2022-06-01T13:42:40.681Z In(05) host-16250 Skip service health check. State STOPPED, Curr request 0" + }, + { + "line": "2023-08-09T14:42:43.094Z In(14) settingsd[263657]: debug [ConfigStore:c5f9ac2700 opId=cabbdb94-0afb-4d23-9203-e901779b9b04] [RunCommand] About to run command /usr/bin/python /usr/lib/vmware/lifecycle/bin/imagemanagerctl.py VIB --list-all" } ] } diff --git a/src/formats/procstate_log.json b/src/formats/procstate_log.json index 74332ddb..17539be5 100644 --- a/src/formats/procstate_log.json +++ b/src/formats/procstate_log.json @@ -5,7 +5,7 @@ "description": "Periodic dumps of process state", "regex": { "std": { - "pattern": "========== Start of system state dump at (?[^=]+)==========(?.*)" + "pattern": "========== Start of system state dump at (?.+) ==========(?.*)" } }, "sample": [ @@ -15,7 +15,7 @@ ], "search-table": { "procstate_procs": { - "pattern": "^(?\\S+)\\s+(?\\d+)\\s+(?\\d+(?:\\.\\d+)?)\\s+(?\\d+(?:\\.\\d+)?)\\s+(?\\d+)\\s+(?\\d+)\\s(?\\S+)\\s+(?\\S+)\\s+(?\\S+)\\s+(?\\S+)\\s+(?(?[^ \\n]+)(?: (?[^\\n]+))?)$" + "pattern": "^(?\\S+)\\s+(?:(?\\d+)\\s+)?(?\\d+)\\s+(?\\d+(?:\\.\\d+)?)\\s+(?\\d+(?:\\.\\d+)?)\\s+(?\\d+)\\s+(?\\d+)\\s(?\\S+)\\s+(?\\S+)\\s+(?\\S+)\\s+(?\\S+)\\s+(?(?[^ \\n]+)(?: (?[^\\n]+))?)$" } } } diff --git a/src/formats/vmk_log.json b/src/formats/vmk_log.json index 5d93def6..1339dcf1 100644 --- a/src/formats/vmk_log.json +++ b/src/formats/vmk_log.json @@ -7,12 +7,20 @@ "regex": { "std": { "pattern": "^(?\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{3}Z) cpu(?\\d+):(?\\d+)(?: opID=(?[^\\)]+))?\\)((?:(?WARNING|ALERT)|(?[^:]+)): )?(?.*)" + }, + "syslog": { + "pattern": "^(?(?:\\S{3,8}\\s+\\d{1,2} \\d{2}:\\d{2}:\\d{2}|\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{3})?Z))\\s+(?\\w+)\\((?\\d+)\\)(?:\\[\\+\\]|\\+)? (?:vmkernel|vmkwarning):\\s* (?:cpu(?\\d+):(?\\d+)(?: opID=(?[^\\)]+))?\\))?((?:(?:WARNING|ALERT)|(?[^:]+)): )?(?.*)" } }, "level-field": "level", "level": { - "error": "ALERT", - "warning": "WARNING" + "debug": "^Db$", + "info": "^In$", + "notice": "^No$", + "warning": "^(?:Wa|WARNING)$", + "error": "^(?:Er|ALERT)$", + "critical": "^Cr$", + "fatal": "^(?:Al|Em)$" }, "max-unrecognized-lines": 15000, "opid-field": "opid", @@ -45,6 +53,12 @@ }, { "line": "2022-06-02T02:16:57.414Z cpu31:1001392590 opID=827cfaf): UWVMKSyscall: ForkExec:2408: hostd-worker: Found params " + }, + { + "line": "2023-08-08T15:08:36.834Z Wa(180) vmkwarning: cpu0:263421 opID=a03fc439)WARNING: Sched: vm 265285: 6404: could not create container group, status: Admission check failed for memory resource" + }, + { + "line": "2023-08-08T14:13:55Z In(182) vmkernel: VMB: 65: Reserved 4 MPNs starting @ 0x4c1" } ] } diff --git a/src/formats/vmw_py_log.json b/src/formats/vmw_py_log.json index 0ce5ed47..59454e89 100644 --- a/src/formats/vmw_py_log.json +++ b/src/formats/vmw_py_log.json @@ -38,7 +38,7 @@ "line": "2022-06-01T13:23:25.515 [2376]DEBUG:vmware.vherd.base.detwist:method = com.vmware.appliance.version1.networking.interfaces.list, args = ()" }, { - "line": "2022-06-01T13:23:25.31 [2376]DEBUG:com.vmware.vherd.base.detwist:method = com.vmware.appliance.version1.system.version.get, args = ()" + "line": "2022-06-01T13:23:25.310 [2376]DEBUG:com.vmware.vherd.base.detwist:method = com.vmware.appliance.version1.system.version.get, args = ()" } ] } diff --git a/src/lnav_commands.cc b/src/lnav_commands.cc index 9fb8c084..c1dacf0f 100644 --- a/src/lnav_commands.cc +++ b/src/lnav_commands.cc @@ -1311,7 +1311,7 @@ com_save_to(exec_context& ec, vis_line_t top = tc->get_top(); vis_line_t bottom = tc->get_bottom(); if (lnav_data.ld_flags & LNF_HEADLESS && inner_height > 0_vl) { - bottom = tc->get_inner_height() - 1_vl; + bottom = inner_height - 1_vl; } auto screen_height = inner_height == 0 ? 0 : bottom - top + 1; auto y = 0_vl; diff --git a/src/lnav_config.cc b/src/lnav_config.cc index 5de72871..12a65891 100644 --- a/src/lnav_config.cc +++ b/src/lnav_config.cc @@ -143,7 +143,11 @@ ensure_dotlnav() for (const auto* sub_path : subdirs) { auto full_path = path / sub_path; - log_perror(mkdir(full_path.c_str(), 0755)); + if (mkdir(full_path.c_str(), 0755) == -1 && errno != EEXIST) { + log_error("unable to make directory: %s -- %s", + full_path.c_str(), + strerror(errno)); + } } auto crash_dir_path = path / "crash"; diff --git a/src/log_format.cc b/src/log_format.cc index 0845474c..525894ce 100644 --- a/src/log_format.cc +++ b/src/log_format.cc @@ -2745,14 +2745,36 @@ external_log_format::build(std::vector& errors) if (ts_cap && ts_cap->sf_begin == 0) { pat.p_timestamp_end = ts_cap->sf_end; } - if (ts_cap - && dts.scan(ts_cap->data(), - ts_cap->length(), - custom_formats, - &tm, - tv) - == nullptr) - { + const char* dts_scan_res = nullptr; + + if (ts_cap) { + dts_scan_res = dts.scan( + ts_cap->data(), ts_cap->length(), custom_formats, &tm, tv); + } + if (dts_scan_res != nullptr) { + if (dts_scan_res != ts_cap->data() + ts_cap->length()) { + auto match_len = dts_scan_res - ts_cap->data(); + auto notes = attr_line_t("the used timestamp format: "); + if (custom_formats == nullptr) { + notes.append(PTIMEC_FORMATS[dts.dts_fmt_lock].pf_fmt); + } else { + notes.append(custom_formats[dts.dts_fmt_lock]); + } + notes.append("\n ") + .append(ts_cap.value()) + .append("\n") + .append(2 + match_len, ' ') + .append("^ matched up to here"_snippet_border); + auto um + = lnav::console::user_message::warning( + attr_line_t("timestamp was not fully matched: ") + .append_quoted(ts_cap.value())) + .with_snippet(elf_sample.s_line.to_snippet()) + .with_note(notes); + + errors.emplace_back(um); + } + } else { attr_line_t notes; if (custom_formats == nullptr) { diff --git a/src/logfile_sub_source.cc b/src/logfile_sub_source.cc index 36032ca5..43a7094d 100644 --- a/src/logfile_sub_source.cc +++ b/src/logfile_sub_source.cc @@ -42,6 +42,7 @@ #include "command_executor.hh" #include "config.h" #include "k_merge_tree.h" +#include "lnav_util.hh" #include "log_accel.hh" #include "md2attr_line.hh" #include "sql_util.hh" @@ -191,6 +192,11 @@ logfile_sub_source::text_value_for_line(textview_curses& tc, std::string& value_out, line_flags_t flags) { + if (this->lss_indexing_in_progress) { + value_out = ""; + return; + } + content_line_t line(0); require_ge(row, 0); @@ -368,6 +374,10 @@ logfile_sub_source::text_attrs_for_line(textview_curses& lv, int row, string_attrs_t& value_out) { + if (this->lss_indexing_in_progress) { + return; + } + view_colors& vc = view_colors::singleton(); logline* next_line = nullptr; struct line_range lr; @@ -682,6 +692,9 @@ logfile_sub_source::rebuild_index( return rebuild_result::rr_no_change; } + this->lss_indexing_in_progress = true; + auto fin = finally([this]() { this->lss_indexing_in_progress = false; }); + iterator iter; size_t total_lines = 0; bool full_sort = false; @@ -1103,6 +1116,8 @@ logfile_sub_source::rebuild_index( } } + this->lss_indexing_in_progress = false; + if (this->lss_index_delegate != nullptr) { this->lss_index_delegate->index_complete(*this); } diff --git a/src/logfile_sub_source.hh b/src/logfile_sub_source.hh index 888acf26..90cba0c7 100644 --- a/src/logfile_sub_source.hh +++ b/src/logfile_sub_source.hh @@ -783,6 +783,8 @@ private: bool lss_in_value_for_line{false}; bool lss_line_meta_changed{false}; + + bool lss_indexing_in_progress{false}; }; #endif diff --git a/src/ptimec.hh b/src/ptimec.hh index 9db6b0cd..91914e87 100644 --- a/src/ptimec.hh +++ b/src/ptimec.hh @@ -882,6 +882,15 @@ ftime_y(char* dst, off_t& off_inout, ssize_t len, const struct exttm& tm) inline bool ptime_z(struct exttm* dst, const char* str, off_t& off_inout, ssize_t len) { + if (off_inout + 1 <= len && str[off_inout] == 'Z') { + off_inout += 1; +#ifdef HAVE_STRUCT_TM_TM_ZONE + dst->et_tm.tm_gmtoff = 0; +#endif + dst->et_gmtoff = 0; + return true; + } + int consume_amount = 5; if ((off_inout + 6) <= len && str[off_inout + 3] == ':') { diff --git a/src/session_data.cc b/src/session_data.cc index b21b0501..eac165f6 100644 --- a/src/session_data.cc +++ b/src/session_data.cc @@ -518,6 +518,10 @@ load_time_bookmarks() continue; } + if (part_name == nullptr) { + continue; + } + if (!dts.scan(log_time, strlen(log_time), nullptr, diff --git a/src/time_formats.am b/src/time_formats.am index eb882e49..55274b56 100644 --- a/src/time_formats.am +++ b/src/time_formats.am @@ -1,20 +1,27 @@ TIME_FORMATS = \ "@%@" \ - "%Y-%m-%d %H:%M:%S" \ + "%Y-%m-%d %H:%M:%S,%L%z" \ + "%Y-%m-%d %H:%M:%S,%L %z" \ + "%Y-%m-%d %H:%M:%S.%L%z" \ + "%Y-%m-%d %H:%M:%S.%L %z" \ "%Y-%m-%d %H:%M:%S%z" \ "%Y-%m-%d %H:%M:%S %z" \ + "%Y-%m-%d %H:%M:%S:%L" \ + "%Y-%m-%d %H:%M:%S" \ "%Y-%m-%d %H:%M" \ "%Y-%m-%dT%H:%M:%S.%f%z" \ "%y-%m-%dT%H:%M:%S.%f%z" \ + "%Y-%m-%dT%H:%M:%S.%L%z" \ + "%y-%m-%dT%H:%M:%S.%L%z" \ "%Y-%m-%dT%H:%M:%SZ" \ "%Y-%m-%dT%H:%M:%S%z" \ "%Y-%m-%dT%H:%M:%S" \ "%Y-%m-%dT%H:%M:%S%z" \ "%Y-%m-%dT%H:%M" \ - "%Y/%m/%d %H:%M:%S" \ "%Y/%m/%d %H:%M:%S %z" \ "%Y/%m/%d %H:%M:%S%z" \ + "%Y/%m/%d %H:%M:%S" \ "%Y/%m/%d %H:%M" \ "%Y %b %d %a %H:%M:%S.%L" \ "%Y %b %d %H:%M:%S.%L" \ @@ -22,6 +29,7 @@ TIME_FORMATS = \ "%a %b %d %H:%M:%S %Y" \ "%a %b %d %H:%M:%S.%f %Y" \ "%a %b %d %H:%M:%S %Z %Y" \ + "%a %b %d %I:%M:%S %p %Z %Y" \ "%a %b %d %H:%M:%S " \ "%a %b %d %H:%M:%S.%L " \ "%a %b %d %H:%M " \ @@ -31,6 +39,8 @@ TIME_FORMATS = \ "%d-%b-%Y %H:%M:%S %z" \ "%d-%b-%Y %H:%M:%S %Z" \ "%d %b %Y %H:%M:%S" \ + "%d %b %Y %H:%M:%S.%L%z" \ + "%d %b %Y %H:%M:%S,%L%z" \ "%d %b %Y %H:%M:%S.%L" \ "%d %b %Y %H:%M:%S,%L" \ "%d %b %Y %H:%M" \ @@ -40,12 +50,16 @@ TIME_FORMATS = \ "%b %d %l:%M" \ "%b %e, %Y %l:%M:%S %p" \ "%b %d, %Y %l:%M:%S %p" \ - "%m/%d/%y %H:%M:%S" \ "%m/%d/%Y %I:%M:%S:%L %p %Z" \ "%m/%d/%Y %I:%M:%S %p %Z" \ "%m/%d/%Y %l:%M:%S %p %Z" \ + "%m/%d/%Y %I:%M:%S %p%z" \ + "%m/%d/%Y %l:%M:%S %p%z" \ + "%m/%e/%Y %l:%M:%S %p%z" \ + "%m/%e/%Y %l:%M:%S %p %z" \ "%m/%e/%Y %I:%M:%S %p" \ - "%m/%e/%Y %l:%M:%S %p" \ + "%m/%e/%Y %l:%M:%S%p" \ + "%m/%d/%y %H:%M:%S" \ "%m/%d/%Y %H:%M:%S" \ "%d/%b/%y %H:%M:%S" \ "%m%d %H:%M:%S" \ diff --git a/test/expected/test_meta.sh_039c1f127c087ec2c6a23a0ecec4df7992cbc8b4.out b/test/expected/test_meta.sh_039c1f127c087ec2c6a23a0ecec4df7992cbc8b4.out index 560e2819..9fe4123a 100644 --- a/test/expected/test_meta.sh_039c1f127c087ec2c6a23a0ecec4df7992cbc8b4.out +++ b/test/expected/test_meta.sh_039c1f127c087ec2c6a23a0ecec4df7992cbc8b4.out @@ -2,6 +2,6 @@  ├ org.lnav.test:  ╰ Hello, World! 192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkboot.gz HTTP/1.0" 404 46210 "-" "gPXE/0.9.7" - 📝 Annotations available, use :annotate to apply them to this line + 📝 Annotations available, focus on this line and use :annotate to apply them 192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkernel.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7" - 📝 Annotations available, use :annotate to apply them to this line + 📝 Annotations available, focus on this line and use :annotate to apply them diff --git a/test/expected/test_meta.sh_fd09cb565f44a114d8c9a519e571918e30262eaf.out b/test/expected/test_meta.sh_fd09cb565f44a114d8c9a519e571918e30262eaf.out index 035efa29..b842402a 100644 --- a/test/expected/test_meta.sh_fd09cb565f44a114d8c9a519e571918e30262eaf.out +++ b/test/expected/test_meta.sh_fd09cb565f44a114d8c9a519e571918e30262eaf.out @@ -1,4 +1,4 @@ 192.168.202.254 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/tramp HTTP/1.0" 200 134 "-" "gPXE/0.9.7" └ #foo 192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkboot.gz HTTP/1.0" 404 46210 "-" "gPXE/0.9.7" -192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkernel.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7" +192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkernel.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7" diff --git a/test/expected/test_meta.sh_fdf4a91aa55262255816dff7d605f1f0a5d6fe92.out b/test/expected/test_meta.sh_fdf4a91aa55262255816dff7d605f1f0a5d6fe92.out index 4ad8c323..25b6f324 100644 --- a/test/expected/test_meta.sh_fdf4a91aa55262255816dff7d605f1f0a5d6fe92.out +++ b/test/expected/test_meta.sh_fdf4a91aa55262255816dff7d605f1f0a5d6fe92.out @@ -1,4 +1,4 @@ 192.168.202.254 - - [20/Jul/2009:22:59:26 +0000] "GET /vmw/cgi/tramp HTTP/1.0" 200 134 "-" "gPXE/0.9.7" └ Hello, World! 192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkboot.gz HTTP/1.0" 404 46210 "-" "gPXE/0.9.7" -192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkernel.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7" +192.168.202.254 - - [20/Jul/2009:22:59:29 +0000] "GET /vmw/vSphere/default/vmkernel.gz HTTP/1.0" 200 78929 "-" "gPXE/0.9.7" diff --git a/test/expected/test_sql_search_table.sh_5aaae556ecb1661602f176215e28f661d3404032.out b/test/expected/test_sql_search_table.sh_5aaae556ecb1661602f176215e28f661d3404032.out index 9c822925..927666fa 100644 --- a/test/expected/test_sql_search_table.sh_5aaae556ecb1661602f176215e28f661d3404032.out +++ b/test/expected/test_sql_search_table.sh_5aaae556ecb1661602f176215e28f661d3404032.out @@ -1,4 +1,4 @@ -log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters match_index user pid cpu_pct mem_pct vsz rss tty stat start_time cpu_time  cmd  cmd_name cmd_args  - 0 2022-06-02 00:01:01.000  0 info 0 1 root 2  0  0  0  0 ? S Jun01 0:00 [kthreadd] [kthreadd] - 12   2022-06-02 00:02:01.000  60000 info   0          1 root  2  0  0  0  0 ?  S  Jun01  0:00  [kthreadd] [kthreadd]  - 30   2022-06-02 00:03:01.000  60000 info   0          1 root  2  0  0  0  0 ?  S  Jun01  0:00  [kthreadd] [kthreadd]   +log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters match_index user  ppid pid cpu_pct mem_pct vsz rss tty stat start_time cpu_time  cmd  cmd_name cmd_args  + 0 2022-06-02 00:01:01.000  0 info 0 1 root 2  0  0  0  0 ? S Jun01 0:00 [kthreadd] [kthreadd] + 12   2022-06-02 00:02:01.000  60000 info   0          1 root   2  0  0  0  0 ?  S  Jun01  0:00  [kthreadd] [kthreadd]  + 30   2022-06-02 00:03:01.000  60000 info   0          1 root   2  0  0  0  0 ?  S  Jun01  0:00  [kthreadd] [kthreadd]   diff --git a/test/expected/test_sql_search_table.sh_df0fd242f57a96d40f466493938cda0789a094fa.out b/test/expected/test_sql_search_table.sh_df0fd242f57a96d40f466493938cda0789a094fa.out index 61c7204f..22cd3f38 100644 --- a/test/expected/test_sql_search_table.sh_df0fd242f57a96d40f466493938cda0789a094fa.out +++ b/test/expected/test_sql_search_table.sh_df0fd242f57a96d40f466493938cda0789a094fa.out @@ -1,24 +1,24 @@ -log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters match_index user pid cpu_pct mem_pct  vsz rss tty stat start_time cpu_time  cmd  cmd_name  cmd_args  - 0   2022-06-02 00:01:01.000  0 info   0          0 root  1  0  0 158392 7792 ?  Ss  Jun01  0:14  /lib/systemd/systemd --switched-root --system --deserialize 16 /lib/systemd/systemd --switched-root --system --deserialize 16 - 0 2022-06-02 00:01:01.000  0 info 0 1 root 2  0  0  0  0 ? S Jun01 0:00 [kthreadd] [kthreadd] - 0  <NULL> 2022-06-02 00:01:01.000  0 info   0  <NULL>  <NULL>  <NULL>  <NULL>  2 root  3  0  0  0  0 ?  I<  Jun01  0:00  [rcu_gp]  [rcu_gp]  <NULL>  - 0  <NULL> 2022-06-02 00:01:01.000  0 info   0  <NULL>  <NULL>  <NULL>  <NULL>  3 root  4  0  0  0  0 ?  I<  Jun01  0:00  [rcu_par_gp]  [rcu_par_gp]  <NULL>  - 0 2022-06-02 00:01:01.000  0 info 0 4 root 6  0  0  0  0 ? I< Jun01 0:00 [kworker/0:0H-kblockd] [kworker/0:0H-kblockd] - 12   2022-06-02 00:02:01.000  60000 info   0          0 root  1  0  0 158392 7792 ?  Ss  Jun01  0:14  /lib/systemd/systemd --switched-root --system --deserialize 16 /lib/systemd/systemd  --switched-root --system --deserialize 16 - 12   2022-06-02 00:02:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  1 root  2  0  0  0  0 ?  S  Jun01  0:00  [kthreadd]  [kthreadd]  <NULL>  - 12   2022-06-02 00:02:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  2 root  3  0  0  0  0 ?  I<  Jun01  0:00  [rcu_gp]  [rcu_gp]  <NULL>  - 12   2022-06-02 00:02:01.000  60000 info   0  3 root 4  0  0  0  0 ? I< Jun01 0:00 [rcu_par_gp] [rcu_par_gp] - 12   2022-06-02 00:02:01.000  60000 info   0  4 root 6  0  0  0  0 ? I< Jun01 0:00 [kworker/0:0H-kblockd] [kworker/0:0H-kblockd] - 12   2022-06-02 00:02:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  5 root  8  0  0  0  0 ?  I<  Jun01  0:00  [mm_percpu_wq]  [mm_percpu_wq]  <NULL>  - 12   2022-06-02 00:02:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  6 root  9  0  0  0  0 ?  S  Jun01  0:00  [ksoftirqd/0]  [ksoftirqd/0]  <NULL>  - 12   2022-06-02 00:02:01.000  60000 info   0  7 root 10  0  0  0  0 ? I Jun01 0:23 [rcu_sched] [rcu_sched] - 12   2022-06-02 00:02:01.000  60000 info   0  8 root 11  0  0  0  0 ? I Jun01 0:00 [rcu_bh] [rcu_bh] - 12   2022-06-02 00:02:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  9 root  12  0  0  0  0 ?  S  Jun01  0:00  [migration/0]  [migration/0]  <NULL>  - 12   2022-06-02 00:02:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  10 root  14  0  0  0  0 ?  S  Jun01  0:00  [cpuhp/0]  [cpuhp/0]  <NULL>  - 30   2022-06-02 00:03:01.000  60000 info   0          0 root  1  0  0 158392 7792 ?  Ss  Jun01  0:14  /lib/systemd/systemd --switched-root --system --deserialize 16 /lib/systemd/systemd  --switched-root --system --deserialize 16 - 30   2022-06-02 00:03:01.000  60000 info   0  1 root 2  0  0  0  0 ? S Jun01 0:00 [kthreadd] [kthreadd] - 30   2022-06-02 00:03:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  2 root  3  0  0  0  0 ?  I<  Jun01  0:00  [rcu_gp]  [rcu_gp]  <NULL>  - 30   2022-06-02 00:03:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  3 root  4  0  0  0  0 ?  I<  Jun01  0:00  [rcu_par_gp]  [rcu_par_gp]  <NULL>  - 30   2022-06-02 00:03:01.000  60000 info   0  4 root 6  0  0  0  0 ? I< Jun01 0:00 [kworker/0:0H-kblockd] [kworker/0:0H-kblockd] - 30   2022-06-02 00:03:01.000  60000 info   0  5 root 8  0  0  0  0 ? I< Jun01 0:00 [mm_percpu_wq] [mm_percpu_wq] - 30   2022-06-02 00:03:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  6 root  9  0  0  0  0 ?  S  Jun01  0:00  [ksoftirqd/0]  [ksoftirqd/0]  <NULL>  +log_line log_part  log_time log_idle_msecs log_level log_mark log_comment log_tags log_annotations log_filters match_index user  ppid pid cpu_pct mem_pct  vsz rss tty stat start_time cpu_time  cmd  cmd_name  cmd_args  + 0   2022-06-02 00:01:01.000  0 info   0          0 root   1  0  0 158392 7792 ?  Ss  Jun01  0:14  /lib/systemd/systemd --switched-root --system --deserialize 16 /lib/systemd/systemd --switched-root --system --deserialize 16 + 0 2022-06-02 00:01:01.000  0 info 0 1 root 2  0  0  0  0 ? S Jun01 0:00 [kthreadd] [kthreadd] + 0  <NULL> 2022-06-02 00:01:01.000  0 info   0  <NULL>  <NULL>  <NULL>  <NULL>  2 root <NULL>  3  0  0  0  0 ?  I<  Jun01  0:00  [rcu_gp]  [rcu_gp]  <NULL>  + 0  <NULL> 2022-06-02 00:01:01.000  0 info   0  <NULL>  <NULL>  <NULL>  <NULL>  3 root <NULL>  4  0  0  0  0 ?  I<  Jun01  0:00  [rcu_par_gp]  [rcu_par_gp]  <NULL>  + 0 2022-06-02 00:01:01.000  0 info 0 4 root 6  0  0  0  0 ? I< Jun01 0:00 [kworker/0:0H-kblockd] [kworker/0:0H-kblockd] + 12   2022-06-02 00:02:01.000  60000 info   0          0 root   1  0  0 158392 7792 ?  Ss  Jun01  0:14  /lib/systemd/systemd --switched-root --system --deserialize 16 /lib/systemd/systemd  --switched-root --system --deserialize 16 + 12   2022-06-02 00:02:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  1 root <NULL>  2  0  0  0  0 ?  S  Jun01  0:00  [kthreadd]  [kthreadd]  <NULL>  + 12   2022-06-02 00:02:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  2 root <NULL>  3  0  0  0  0 ?  I<  Jun01  0:00  [rcu_gp]  [rcu_gp]  <NULL>  + 12   2022-06-02 00:02:01.000  60000 info   0    3 root 4  0  0  0  0 ? I< Jun01 0:00 [rcu_par_gp] [rcu_par_gp] + 12   2022-06-02 00:02:01.000  60000 info   0    4 root 6  0  0  0  0 ? I< Jun01 0:00 [kworker/0:0H-kblockd] [kworker/0:0H-kblockd] + 12   2022-06-02 00:02:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  5 root <NULL>  8  0  0  0  0 ?  I<  Jun01  0:00  [mm_percpu_wq]  [mm_percpu_wq]  <NULL>  + 12   2022-06-02 00:02:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  6 root <NULL>  9  0  0  0  0 ?  S  Jun01  0:00  [ksoftirqd/0]  [ksoftirqd/0]  <NULL>  + 12   2022-06-02 00:02:01.000  60000 info   0    7 root 10  0  0  0  0 ? I Jun01 0:23 [rcu_sched] [rcu_sched] + 12   2022-06-02 00:02:01.000  60000 info   0    8 root 11  0  0  0  0 ? I Jun01 0:00 [rcu_bh] [rcu_bh] + 12   2022-06-02 00:02:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  9 root <NULL>  12  0  0  0  0 ?  S  Jun01  0:00  [migration/0]  [migration/0]  <NULL>  + 12   2022-06-02 00:02:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  10 root <NULL>  14  0  0  0  0 ?  S  Jun01  0:00  [cpuhp/0]  [cpuhp/0]  <NULL>  + 30   2022-06-02 00:03:01.000  60000 info   0          0 root   1  0  0 158392 7792 ?  Ss  Jun01  0:14  /lib/systemd/systemd --switched-root --system --deserialize 16 /lib/systemd/systemd  --switched-root --system --deserialize 16 + 30   2022-06-02 00:03:01.000  60000 info   0    1 root 2  0  0  0  0 ? S Jun01 0:00 [kthreadd] [kthreadd] + 30   2022-06-02 00:03:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  2 root <NULL>  3  0  0  0  0 ?  I<  Jun01  0:00  [rcu_gp]  [rcu_gp]  <NULL>  + 30   2022-06-02 00:03:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  3 root <NULL>  4  0  0  0  0 ?  I<  Jun01  0:00  [rcu_par_gp]  [rcu_par_gp]  <NULL>  + 30   2022-06-02 00:03:01.000  60000 info   0    4 root 6  0  0  0  0 ? I< Jun01 0:00 [kworker/0:0H-kblockd] [kworker/0:0H-kblockd] + 30   2022-06-02 00:03:01.000  60000 info   0    5 root 8  0  0  0  0 ? I< Jun01 0:00 [mm_percpu_wq] [mm_percpu_wq] + 30   2022-06-02 00:03:01.000  60000 info   0    <NULL>  <NULL>  <NULL>  6 root <NULL>  9  0  0  0  0 ?  S  Jun01  0:00  [ksoftirqd/0]  [ksoftirqd/0]  <NULL>