Skip to content

Commit 7b0ec6c

Browse files
committed
feat: Implement more flexible timestamp parsing
Instead of requiring timestamp to be always in the beginning of the line, we can now parse it in the middle of the line as well. The indexing is based not on absolute line offsets, but on whitespace-separated fields, which makes it possible to support e.g. Apache `access.log`: ``` 71.141.244.242 - kurt [18/May/2011:01:48:10 -0700] "GET /admin HTTP/1.1" 301 .... 134.39.72.245 - - [18/May/2011:12:40:18 -0700] "GET /favicon.ico HTTP/1.1" 200 .... 98.83.179.51 - - [18/May/2011:19:35:08 -0700] "GET /css/main.css HTTP/1.1" 200 .... ``` The hot awk path stays efficient since awk has built-in support for these space-separated fields.
1 parent 7d4bc03 commit 7b0ec6c

33 files changed

Lines changed: 8491 additions & 579 deletions

‎Makefile‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ test-all-variations:
6868
# After running it, it's your job to examine the diff carefully, and if all the
6969
# changes look legit, commit them.
7070
update-test-expectations:
71+
NERDLOG_UPDATE_TIMESTAMP_FORMAT_CASES=1 \
72+
go test ./core -run '^TestUpdateTimestampFormatCases$$' -count 1
7173
rm -rf \
7274
/tmp/nerdlog_agent_test_output \
7375
/tmp/nerdlog_core_test_output \

‎cmd/nerdlog/e2e_testdata/test_scenarios/05_query_warnings/want_screen_01_warning_dialog.txt‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@ awk pattern: Sep18 10:00 to
33

44

55

6-
▄▖ ▄▖
76
╔═════════════════════════════════════════════Log query warning══════════════════════════════════════════════╗
87
║ ║
98
║ 3 warnings: ║
109
║ 1: testhost-corrupted: log index ignored 1 malformed timestamp candidate; first malformed line: /tmp/nerdl ║
1110
║ og_e2e_test_output/05_query_warnings/lstreams/testhost-corrupted/logfile:2 ║
1211
║ 2: testhost-corrupted: showing malformed log record at /tmp/nerdlog_e2e_test_output/05_query_warnings/lstr ║
13-
║ eams/testhost-corrupted/logfile:2 as raw text: parsing time: parsing time in log msg: parsing time "\x00\x ║
14-
║ 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan _2 15:04:05": cannot parse "\x00\x00\x00\x ║
15-
║ 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan" ║
12+
║ eams/testhost-corrupted/logfile:2 as raw text: parsing time: parsing time "\x00\x00\x00\x00\x00\x00\x00\x0 ║
13+
║ 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04:05": cannot parse "\x00\x00 ║
14+
║ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan" ║
1615
║ 3: testhost-corrupted: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x ║
17-
║ 00\x00" as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan" ║
16+
║ 00\x00\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x ║
17+
║ 00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan" ║
1818
║ ║
1919
║ Some log data could not be processed, so the results may be incomplete. ║
2020
║ ║

‎cmd/nerdlog/e2e_testdata/test_scenarios/05_query_warnings/want_screen_07_qwarn_dialog.txt‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ awk pattern: Sep18 10:00 to
44

55

66
▄▖ ▄▖
7-
▘ 10:00 ▘ 10:10 ▘ 10:20 ▘ 10:30 ▘ 10:40 ▘ 10:50
87
╔═════════════════════════════════════════════Log query warning══════════════════════════════════════════════╗
98
║ ║
109
║ 2 warnings: ║
1110
║ 1: testhost-corrupted: showing malformed log record at /tmp/nerdlog_e2e_test_output/05_query_warnings/lstr ║
12-
║ eams/testhost-corrupted/logfile:2 as raw text: parsing time: parsing time in log msg: parsing time "\x00\x ║
13-
║ 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan _2 15:04:05": cannot parse "\x00\x00\x00\x ║
14-
║ 00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan" ║
11+
║ eams/testhost-corrupted/logfile:2 as raw text: parsing time: parsing time "\x00\x00\x00\x00\x00\x00\x00\x0 ║
12+
║ 0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04:05": cannot parse "\x00\x00 ║
13+
║ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan" ║
1514
║ 2: testhost-corrupted: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x ║
16-
║ 00\x00" as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan" ║
15+
║ 00\x00\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x ║
16+
║ 00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan" ║
1717
║ ║
1818
║ Some log data could not be processed, so the results may be incomplete. ║
1919
║ ║
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
71.141.244.242 - kurt [18/May/2011:01:48:10 -0700] "GET /admin HTTP/1.1" 301 566 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3"
2+
134.39.72.245 - - [18/May/2011:12:40:18 -0700] "GET /favicon.ico HTTP/1.1" 200 1189 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.2; .NET4.0C; .NET4.0E)"
3+
98.83.179.51 - - [18/May/2011:19:35:08 -0700] "GET /css/main.css HTTP/1.1" 200 1837 "http://www.safesand.com/information.htm" "Mozilla/5.0 (Windows NT 6.0; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"

‎core/core_testdata/test_cases_agent/corrupted_index_timestamp/01_basic/test_case.yaml‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ args: [
88
"--max-num-lines", "10",
99
"--from", "2026-09-19-09:59",
1010
"--to", "2026-09-19-10:03",
11-
"--awktime-month", "substr($0, 6, 2)",
12-
"--awktime-year", "substr($0, 1, 4)",
13-
"--awktime-day", "substr($0, 9, 2)",
14-
"--awktime-hhmm", "substr($0, 12, 5)",
15-
"--awktime-minute-key", "substr($0, 6, 11)",
11+
"--awktime-month", "substr($1, 6, 2)",
12+
"--awktime-year", "substr($1, 1, 4)",
13+
"--awktime-day", "substr($1, 9, 2)",
14+
"--awktime-hhmm", "substr($1, 12, 5)",
15+
"--awktime-minute-key", "substr($1, 6, 11)",
1616
]

‎core/core_testdata/test_cases_agent/timezone_change/01_basic/test_case.yaml‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ args:
1313
- "--from"
1414
- "2025-01-01-12:00"
1515
- "--awktime-month"
16-
- "substr($0, 6, 2)"
16+
- "substr($1, 6, 2)"
1717
- "--awktime-year"
18-
- "substr($0, 1, 4)"
18+
- "substr($1, 1, 4)"
1919
- "--awktime-day"
20-
- "substr($0, 9, 2)"
20+
- "substr($1, 9, 2)"
2121
- "--awktime-hhmm"
22-
- "substr($0, 12, 5)"
22+
- "substr($1, 12, 5)"
2323
- "--awktime-minute-key"
24-
- "substr($0, 6, 11)"
24+
- "substr($1, 6, 11)"
2525
- "--awktime-timezone"
26-
- "substr($0, 20, 6)"
26+
- "substr($1, 20, 6)"

‎core/core_testdata/test_cases_core/05_corrupted_log/want_log_resp_01_initial.txt‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ Num errors: 0
44

55
Num warnings: 3
66
- testhost-corrupted: log index ignored 1 malformed timestamp candidate; first malformed line: /tmp/nerdlog_core_test_output/05_corrupted_log/lstreams/testhost-corrupted/logfile:2
7-
- testhost-corrupted: showing malformed log record at /tmp/nerdlog_core_test_output/05_corrupted_log/lstreams/testhost-corrupted/logfile:2 as raw text: parsing time: parsing time in log msg: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan _2 15:04:05": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan"
8-
- testhost-corrupted: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan"
7+
- testhost-corrupted: showing malformed log record at /tmp/nerdlog_core_test_output/05_corrupted_log/lstreams/testhost-corrupted/logfile:2 as raw text: parsing time: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04:05": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan"
8+
- testhost-corrupted: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan"
99

1010
Num MinuteStats: 2
1111
- 2026-09-18-10-00: 1

‎core/core_testdata/test_cases_core/06_multi_corrupted_logstreams/want_log_resp_01_initial.txt‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ Num errors: 0
44

55
Num warnings: 6
66
- testhost-corrupted-a: log index ignored 1 malformed timestamp candidate; first malformed line: /tmp/nerdlog_core_test_output/06_multi_corrupted_logstreams/lstreams/testhost-corrupted-a/logfile:2
7-
- testhost-corrupted-a: showing malformed log record at /tmp/nerdlog_core_test_output/06_multi_corrupted_logstreams/lstreams/testhost-corrupted-a/logfile:2 as raw text: parsing time: parsing time in log msg: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan _2 15:04:05": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan"
8-
- testhost-corrupted-a: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan"
7+
- testhost-corrupted-a: showing malformed log record at /tmp/nerdlog_core_test_output/06_multi_corrupted_logstreams/lstreams/testhost-corrupted-a/logfile:2 as raw text: parsing time: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04:05": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan"
8+
- testhost-corrupted-a: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan"
99
- testhost-corrupted-b: log index ignored 1 malformed timestamp candidate; first malformed line: /tmp/nerdlog_core_test_output/06_multi_corrupted_logstreams/lstreams/testhost-corrupted-b/logfile:2
10-
- testhost-corrupted-b: showing malformed log record at /tmp/nerdlog_core_test_output/06_multi_corrupted_logstreams/lstreams/testhost-corrupted-b/logfile:2 as raw text: parsing time: parsing time in log msg: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan _2 15:04:05": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan"
11-
- testhost-corrupted-b: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "Jan"
10+
- testhost-corrupted-b: showing malformed log record at /tmp/nerdlog_core_test_output/06_multi_corrupted_logstreams/lstreams/testhost-corrupted-b/logfile:2 as raw text: parsing time: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04:05": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan"
11+
- testhost-corrupted-b: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "Jan"
1212

1313
Num MinuteStats: 6
1414
- 2026-09-19-10-00: 1

‎core/core_testdata/test_cases_core/07_many_warnings/want_log_resp_01_initial.txt‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ Num errors: 0
44

55
Num warnings: 11
66
- testhost-many-warnings: log index ignored 5 malformed timestamp candidates; first malformed line: /tmp/nerdlog_core_test_output/07_many_warnings/lstreams/testhost-many-warnings/logfile:2
7-
- testhost-many-warnings: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001" as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001" as "Jan"
8-
- testhost-many-warnings: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002" as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002" as "Jan"
9-
- testhost-many-warnings: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x004" as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x004" as "Jan"
10-
- testhost-many-warnings: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x005" as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x005" as "Jan"
7+
- testhost-many-warnings: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001\x00\x00\x00\x00\x00\x00..." as "Jan"
8+
- testhost-many-warnings: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x002\x00\x00\x00\x00\x00\x00..." as "Jan"
9+
- testhost-many-warnings: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x003\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x003\x00\x00\x00\x00\x00\x00..." as "Jan"
10+
- testhost-many-warnings: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x005\x00\x00\x00\x00\x00\x00..." as "Jan _2 15:04": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x005\x00\x00\x00\x00\x00\x00..." as "Jan"
1111
- testhost-many-warnings: 6 additional query warnings omitted
1212

1313
Num MinuteStats: 2

‎core/core_testdata/test_cases_core/08_corrupted_index_timestamp/want_log_resp_01_initial.txt‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ Num errors: 0
44

55
Num warnings: 5
66
- testhost-corrupted-index: log index ignored 3 malformed timestamp candidates; first malformed line: /tmp/nerdlog_core_test_output/08_corrupted_index_timestamp/lstreams/testhost-corrupted-index/logfile:2
7-
- testhost-corrupted-index: showing malformed log record at /tmp/nerdlog_core_test_output/08_corrupted_index_timestamp/lstreams/testhost-corrupted-index/logfile:2 as raw text: parsing time: parsing time in log msg: parsing time "3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "2006-01-02T15:04:05.000000Z07:00": cannot parse "3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "2006"
8-
- testhost-corrupted-index: showing malformed log record at /tmp/nerdlog_core_test_output/08_corrupted_index_timestamp/lstreams/testhost-corrupted-index/logfile:3 as raw text: parsing time: parsing time in log msg: parsing time "4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "2006-01-02T15:04:05.000000Z07:00": cannot parse "4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "2006"
9-
- testhost-corrupted-index: showing malformed log record at /tmp/nerdlog_core_test_output/08_corrupted_index_timestamp/lstreams/testhost-corrupted-index/logfile:4 as raw text: parsing time: parsing time in log msg: parsing time "5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "2006-01-02T15:04:05.000000Z07:00": cannot parse "5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "2006"
10-
- testhost-corrupted-index: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "01-02T15:04Z07:00": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" as "01"
7+
- testhost-corrupted-index: showing malformed log record at /tmp/nerdlog_core_test_output/08_corrupted_index_timestamp/lstreams/testhost-corrupted-index/logfile:2 as raw text: parsing time: parsing time "3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "2006-01-02T15:04:05.000000Z07:00": cannot parse "3\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "2006"
8+
- testhost-corrupted-index: showing malformed log record at /tmp/nerdlog_core_test_output/08_corrupted_index_timestamp/lstreams/testhost-corrupted-index/logfile:3 as raw text: parsing time: parsing time "4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "2006-01-02T15:04:05.000000Z07:00": cannot parse "4\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "2006"
9+
- testhost-corrupted-index: showing malformed log record at /tmp/nerdlog_core_test_output/08_corrupted_index_timestamp/lstreams/testhost-corrupted-index/logfile:4 as raw text: parsing time: parsing time "5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "2006-01-02T15:04:05.000000Z07:00": cannot parse "5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "2006"
10+
- testhost-corrupted-index: skipping malformed mstats: parsing time "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "01-02T15:04Z07:00": cannot parse "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00..." as "01"
1111

1212
Num MinuteStats: 2
1313
- 2026-09-19-10-00: 1

0 commit comments

Comments
 (0)