Commit Graph

667 Commits

Author SHA1 Message Date
Timothy Stack
56bee6f4c9 [archive] remove old unpacked archives and a bunch of other stuff 2021-01-16 22:23:20 -08:00
Timothy Stack
8851c4492f [tests] add a test for decompression 2021-01-10 22:04:55 -08:00
Timothy Stack
6be36eda19 [build] isdigit() instead of isnumber() 2021-01-08 20:48:54 -08:00
Timothy Stack
8235f9af5d [tests] try to make scripty output readable 2021-01-08 14:08:52 -08:00
Timothy Stack
4d936f7bba [build] add more tests to cmake build 2021-01-01 20:40:52 -08:00
Timothy Stack
cc072d29ea [tests] update another date-sensitive test 2020-12-31 23:26:57 -08:00
Timothy Stack
60dde499ac [tests] fix test to make it insensitive to the current date 2020-12-31 23:23:56 -08:00
Timothy Stack
1cefe583fa [debt] fix a leak in lnav_view_filters 2020-12-31 22:55:34 -08:00
Timothy Stack
2996a90afa [format] use the module level for a message 2020-12-31 13:55:53 -08:00
Timothy Stack
63c31838eb [debt] fixing some more debt 2020-12-28 22:31:11 -08:00
Timothy Stack
7476dd5bb9 [misc] misc bugs 2020-12-24 22:29:38 -08:00
Timothy Stack
4ca6fd7bfd [sqlite] add an xml/xpath extension 2020-12-23 15:01:21 -08:00
Timothy Stack
4ff2b710d5 [log_format] change w3c_log to put extra columns into a JSON column 2020-12-18 22:35:23 -08:00
Timothy Stack
941504a4cb [help] fix word wrap for example desc 2020-12-13 21:11:07 -08:00
Timothy Stack
e6df0fba0a [humanize] something seems wrong 2020-12-12 22:33:58 -08:00
Timothy Stack
04da95eb95 [installer] fix file type check for formats
Fixes #801
2020-12-10 21:18:56 -08:00
Timothy Stack
8a2fb80888 [build] fix distcheck 2020-12-08 09:29:52 -08:00
Timothy Stack
267e32d479 [tests] update expected output 2020-12-08 09:11:39 -08:00
Timothy Stack
e3f28eaa43 [logfile] a captured file cannot be overwritten
Fixes #741
2020-12-07 15:21:33 -08:00
Timothy Stack
623da1fe33 [build] add w3c logfiles to dist 2020-12-05 23:33:17 -08:00
Timothy Stack
32f112b8de [formats] add w3c extended log format impl
Fiexes #798
2020-12-05 21:51:46 -08:00
Timothy Stack
19e0624ab6 [debt] even more mem leaks
Defect Number:
    Reviewed By:
   Testing Done:
2020-12-01 11:27:03 -08:00
Timothy Stack
22c2e95df0 [filters] sql filter
Related to #568
2020-11-29 13:20:07 -08:00
Timothy Stack
6d0054d3b6 [logfile] refactor visibility 2020-11-25 14:47:39 -08:00
Timothy Stack
2aad7985a6 [build] opt build
Defect Number:
    Reviewed By:
   Testing Done:
2020-11-25 14:46:39 -08:00
Timothy Stack
8e629b166a [build] some more compiler profiling
Defect Number:
    Reviewed By:
   Testing Done:
2020-11-19 21:36:51 -08:00
Timothy Stack
51d1204a96 [arc] add content hash to archive temp dir and tech debt 2020-11-17 10:04:23 -08:00
Timothy Stack
0765c07010 [view] migrate view_action stuff to function objects 2020-11-14 21:39:12 -08:00
Timothy Stack
f192cb7c3e [input_dispatcher] fix handling of unicode input
Fixes #791
2020-11-09 22:18:17 -08:00
Timothy Stack
db8a3c4d38 [debt] doing some cleanup
Defect Number:
    Reviewed By:
   Testing Done:
2020-11-09 22:17:17 -08:00
Timothy Stack
e4ea9ca584 [arc] report errors when opening archives 2020-10-31 22:19:41 -07:00
Timothy Stack
8b38bb0970 [session] store file visibility 2020-10-28 21:23:25 -07:00
Timothy Stack
c22c78220c [text] hide text files 2020-10-28 21:23:16 -07:00
Timothy Stack
7b77a612c2 [files] make file scanning async 2020-10-28 21:22:56 -07:00
Timothy Stack
dfd18a4be5 [view] add files view 2020-10-28 21:21:57 -07:00
Timothy Stack
3b0168025d [cmds] add support for hiding files 2020-10-28 21:18:57 -07:00
Timothy Stack
579e4274f9 [files] initial impl for opening archives 2020-10-28 21:17:57 -07:00
Timothy Stack
9f524136bd [fs] remove old filesystem impl 2020-10-20 22:55:46 -07:00
Timothy Stack
d8a083f0fe [filters] add :toggle-filtering command 2020-10-02 21:17:52 -07:00
Timothy Stack
74bfa21050 [build] missed a file 2020-09-24 13:22:42 -07:00
Timothy Stack
65c991919b [loader] fix format loader and add $schema refs to formats 2020-09-24 13:12:43 -07:00
Suresh Sundriyal
63ed3ee677 [dist] Prevent distributing built sources 2020-09-22 13:50:37 -07:00
Timothy Stack
a5171058c7 [build] some built files were being included in the dist 2020-09-22 12:01:13 -07:00
Suresh Sundriyal
f35f855458 [tests] Remove use of deprecated std::random_shuffle 2020-09-19 15:10:28 -07:00
Timothy Stack
ce0383dee1 [build] fix some warnings 2020-09-11 23:10:11 -07:00
Timothy Stack
349991a695 [shlex] fix handling of tilde 2020-09-10 21:19:23 -07:00
Timothy Stack
815a05577e [keymap] suggest the config option to set for an unknown keystroke
Also, add a unicode green-check/red-X mark for the success/error
message for commands.
2020-09-05 14:41:05 -07:00
Timothy Stack
ba1bc28209 [build] fix issues with test files 2020-09-03 22:13:21 -07:00
Timothy Stack
82b34bb02a [config] remove :save-config 2020-09-03 14:09:35 -07:00
Timothy Stack
84a7079e3f [main] capture stderr only after initscr() and fix curl configure detection 2020-09-02 15:39:27 -07:00
Timothy Stack
a2b3427502 [tests] add tests for SQL annotation functionality 2020-08-26 22:44:12 -07:00
Timothy Stack
d695febe14 [cmd] add :write-jsonlines-to command 2020-08-21 23:18:51 -07:00
Timothy Stack
d040e75d42 [build] fix a test 2020-06-28 22:56:24 -07:00
Timothy Stack
07d5aba7b5 [build] remove test files 2020-05-19 22:23:16 -07:00
Timothy Stack
ebd1038057 [pretty] include linefeeds in the pretty output
Defect Number:
    Reviewed By:
   Testing Done:
2020-05-19 22:13:52 -07:00
Timothy Stack
e85fff0b88 [sql] add json_concat() function and misc fixes 2020-05-17 22:23:30 -07:00
Timothy Stack
9cbe4d73a9 [docs] start to flesh out command and sql docs 2020-05-15 07:38:40 -07:00
Timothy Stack
defb00303f [docs] some changes 2020-05-13 09:38:41 -07:00
Timothy Stack
6073464722 [build] disable test for now 2020-05-09 21:48:37 -07:00
Timothy Stack
a8e97a180b [build] remove stale dep 2020-05-09 13:48:06 -07:00
Timothy Stack
8413dd13d8 [config] add configs directory 2020-05-07 07:08:59 -07:00
Timothy Stack
99a8eb9850 [build] try again 2020-04-25 17:22:59 -07:00
Timothy Stack
7e538c85f9 [tests] try to fix breakage 2020-04-25 13:30:28 -07:00
Timothy Stack
3da3ec799a [session] allow the name 2020-04-25 07:32:05 -07:00
Timothy Stack
138a506b1a [perf] a few performance tweaks 2020-04-23 06:42:48 -07:00
Timothy Stack
0744a9b6de [docs] mention the view tables
Defect Number:
    Reviewed By:
   Testing Done:
2020-04-21 21:04:03 -07:00
Timothy Stack
07f4b56646 [tests] update some expected results
so lazy...
2020-01-17 05:43:15 -08:00
Timothy Stack
e525d247ae [json-log] some more fixes for handling invalid json logs 2019-10-19 07:11:47 -07:00
Timothy Stack
8b750c83f1 update expected output 2019-09-11 08:12:56 -07:00
Timothy Stack
98519b045a [help] mention hide/show-unmarked-lines
Fixes #631
2019-09-10 05:50:10 -07:00
Timothy Stack
b7255419e6 [test] fix sed usage
Fixes #572
2019-09-10 05:39:34 -07:00
Timothy Stack
9d6e6e4638 [build] fix a typo 2019-09-09 22:10:50 -07:00
Timothy Stack
27587ee917 [test] get test working on OS X 2019-09-09 21:47:41 -07:00
Tim Stack
b2463e44a3
Merge pull request #677 from phord/gzip-index
Add a gzip indexing class for faster gz navigation
2019-09-09 21:35:44 -07:00
Timothy Stack
f11364660d [build] missed file in makefile 2019-09-03 07:27:24 -07:00
Timothy Stack
73e902f7d8 [json-log] handle invalid json log lines
Header from folded patch 'foldme1.patch':

[local] foldme
2019-09-03 06:19:57 -07:00
Phil Hord
5513deeade Add a gzip indexing class for faster gz navigation
The gzread function is slow.  Every time you seek to a new location, the
whole file up to that position has to be decompressed again.  This causes
massive lags when trying to do simple things in lnav on a large .gz file.

Use the zlib inflate* functions instead and record the dictionary
periodically while processing the file the first time.  Then use
inflateSetDictionary to restore the dictionary to a convenient
location when trying to seek into the file again in the future.

Use a default period of 1MB of compressed data for syncpoints.
Each syncpoint uses 32KB. This is a ratio of 3.2%.  For example,
a 1GB .gz file (compressed size) will require us to keep 32MB
of index data in memory. A better method may be to use a fixed
number of syncpoints and divide the file appropriately. This
would keep the memory bounded at the cost of slower file
navigation on large .gz files.

Use pread to read the data for the stream decompressor and remove
the lock_hack previously employed.

NB. The documentation on these zlib functions is sparse. I followed
the example in zlib/examples/zran.c, but I used the z_stream total_in
and total_out variables instead of keeping my own separately as zran.c
does.  Maybe this is incompatible with some very old zlib versions.
I haven't looked.
2019-08-17 18:40:55 -07:00
Timothy Stack
585986057d [build] missed cleaning a dir up 2019-08-10 21:59:43 -07:00
Timothy Stack
56a341f7f8 [view_curses] colors
Defect Number:
    Reviewed By:
   Testing Done:
2019-08-07 09:46:19 -07:00
Timothy Stack
9a05b9d186 [config] pay attention to XDG_CONFIG_HOME
Fixes #105
2019-08-01 07:14:47 -07:00
Timothy Stack
e442f84e80 [textview] pause loading of files by pressing =
Fixes #670
2019-07-30 06:28:42 -07:00
Timothy Stack
63dba408ec [stdin] Keep the stdin piper file in .lnav so that it can be reopened
When piping the output of a program into lnav, the data would
be dumped to the terminal on exit so that it would not be
lost.  Since that is a bit noisy, the temp file used to store
the data is now left in .lnav so that it can be reopened later.
Older stdin captures are automatically removed after a day.

Also took the opportunity to start using filesystem::path more.

Fixes #436
2019-07-29 22:18:32 -07:00
Timothy Stack
ffd9d88add [log_format] ignore line-format field if timestamp-format is set
Fixes #661
2019-07-26 01:16:37 -07:00
Timothy Stack
34db64aa32 [logfile] the index rebuild didn't check the mtime if the file size was the same
Fixes #668
2019-07-25 07:31:46 -07:00
Timothy Stack
7c485f64dc [cmake] fix some test targets 2019-07-15 10:08:14 -07:00
Timothy Stack
1257fcd62a [codacy] fix a few issues turned up 2019-07-11 14:59:54 -07:00
Timothy Stack
325e4a15d9 [build] test out the hunter package manager 2019-07-09 08:34:55 -07:00
Timothy Stack
76edd2a9d1 [line_buffer] refactor left a bug with non-blocking files
Fixes #662
2019-06-27 10:19:54 -07:00
Timothy Stack
b81b35c866 [log-view] in time-offset mode, show negative times for messages before the first mark
Prototype for #395
2019-06-26 21:52:40 -07:00
Timothy Stack
d61f2568d6 [ptimec] fix a case of undefined behavior 2019-06-21 17:19:56 -07:00
Timothy Stack
a10fa06b10 [build] remove test file 2019-06-15 06:48:33 -07:00
Timothy Stack
02c53976b4 Some refactoring for the line buffer and other cleanups
Fixes #649
2019-06-15 06:32:02 -07:00
Timothy Stack
6cf5cc8213 [logfile] fix issue when files have headers
Defect Number:
    Reviewed By:
   Testing Done:
2019-05-17 07:42:05 -07:00
Timothy Stack
1fc24ecabf [bin2c] improve building of data files that are incorporated into the binary 2019-05-15 09:13:56 -07:00
Timothy Stack
c7046b0b54 [json] newlines in the line format cause problems
Fixes #644
2019-05-13 10:44:33 -07:00
Timothy Stack
76b08f5fe3 [build] fix other lib order 2019-05-08 09:11:22 -07:00
Timothy Stack
fb7d6eafaf [build] some refactoring of files 2019-05-08 05:30:59 -07:00
Timothy Stack
63e53377c3 [theme] add monocai theme 2019-05-04 10:35:23 -07:00
Timothy Stack
a8e1f62da6 [build] add fmt lib 2019-05-04 07:07:39 -07:00
Timothy Stack
fc9f9f43cf add bad-config to the dist 2019-05-03 14:29:27 -07:00
Timothy Stack
06d1098211 [config] initial support for themes
For #422

Still more to do
2019-05-03 13:50:19 -07:00
Timothy Stack
6f451eec35 [pretty] fix crash when rewriting lines 2019-04-18 04:26:24 -07:00
Timothy Stack
5e8a1cebe9 [json-log] handle arrays in json log message fields
Fixes #635
2019-04-17 06:17:11 -07:00
Timothy Stack
062d480fea [sql] fix some issues found while trying to query some logs 2019-03-21 07:46:51 -07:00
Timothy Stack
2fa603d07e [tests] fix a test 2019-03-15 22:38:10 -07:00
Timothy Stack
78d80fddd5 [cli] add -r flag for recursively loading files from a directory hierarchy
Fixes #431
2019-03-14 22:24:57 -07:00
Timothy Stack
33cdbefaaa [help] some online help additions 2019-03-13 23:07:39 -07:00
Timothy Stack
21c5c52843 [format] allow multiple log format patterns per log file
This tries to address #624
2019-03-13 16:37:41 -07:00
Timothy Stack
0e12f98ae7 [sql] change base_time to time_offset 2019-03-12 22:41:39 -07:00
Timothy Stack
469124d72b [time-offset] fixes
Defect Number:
    Reviewed By:
   Testing Done:
2019-03-12 07:06:31 -07:00
Timothy Stack
4614cbcb75 [sql] fix joins on some vtables 2019-02-18 14:44:59 -08:00
Timothy Stack
43243c7ba3 [build] revive freebsd release build
Some misc fixes for filtering as well
2019-02-17 07:40:35 -08:00
Timothy Stack
02b9e13343 [filters] add the number of hits for each filter in the editor
Might be useful to know the number of hits for a given filter.
2019-02-15 09:22:32 -08:00
Timothy Stack
659f01c9ae [filters] add a log_filters column to log tables that contains the matched filters
Related to #597
2019-02-14 22:42:44 -08:00
Timothy Stack
153b59ea8a [status] some fixes for the bottom status bar
Fixes #603
Fixes #578
2019-02-05 07:30:57 -08:00
Timothy Stack
104b8736e8 [vtab] fix for failed update to log_tags column and fix filtering with json logs 2019-02-01 13:31:28 -08:00
Timothy Stack
3d77fb2acf [cmds] change :write-raw-to to write all the lines in the view
Fixes #606
2019-01-29 07:30:37 -08:00
Timothy Stack
31c440777f [hotkeys] add ctrl+f to toggle filters
Fixes #604
2019-01-27 08:05:44 -08:00
Timothy Stack
0c2f84a3c0 [hotkeys] press 7/8 for previous/next minute
Fixes #382
2019-01-25 07:45:17 -08:00
Timothy Stack
5fff4d8784 [help] add some initial help text for search/SQL prompts
Also:
  * You can now "scroll out" of the visual editor to
    return to the main view.  This should alleviate the
    frustration of pressing up/down arrows thinking the
    main view should move but, really, you're stuck in
    the editor.
  * The three-dot-ellipsis for hidden fields has been
    replaced with a unicode vertical ellipsis so that
    less space is taken up.
2019-01-24 22:05:15 -08:00
Timothy Stack
dcccebe797 [sql] add some help for regexp_capture()
Fixes #593
2019-01-13 19:02:50 -08:00
Timothy Stack
7dfa0e9dd4 [textview] highlights that start from the beginning of the line are not working in the log view
The log view prefixes lines with some extra characters and they
were mistakenly being included when performing the highlight
regex.

Fixes #590
2019-01-01 08:24:02 -08:00
Timothy Stack
a63b6a199c [filter] in the filter editor, use "t" to toggle the type of filter
Related to #423
2018-12-14 07:10:50 -08:00
Timothy Stack
814ad03ec9 [view] keep a history of view positions
Fixes #577
2018-12-14 06:18:56 -08:00
Timothy Stack
e001b49e28 [format] hidden object/array fields add sub-lines when they should not
Fixes #576
2018-11-26 10:30:27 -08:00
Timothy Stack
1a08eb0d12 [cmds] allow commands to set the prompt
Fixes #574 and #573
2018-11-21 17:00:28 -08:00
Timothy Stack
8b5b8743b1 try make locale test optional
Fixes #562
2018-11-16 07:32:07 -08:00
Timothy Stack
64d4226a89 disable test_top_status for now 2018-11-15 09:47:54 -08:00
Timothy Stack
5c6cc5fe2a [readline] pressing escape should exit the command prompt
Fixes #316
2018-11-15 06:43:28 -08:00
Timothy Stack
6336fa56e9 [cmds] :write-json-to should passthru JSON columns as JSON instead of strings
Fixes #565
2018-11-14 21:46:49 -08:00
Timothy Stack
aa0bfd6c62 [sql] add a spooky_hash() function
Fixes #567
2018-11-13 20:55:04 -08:00
Timothy Stack
ec82ecda62 [filter] display the number of filters 2018-11-10 22:55:08 -08:00
Timothy Stack
efe6ccf0d1 [filter] change from backquote to tab for activating filter panel 2018-11-09 13:59:27 -08:00
Timothy Stack
2345a32423 [filter] add panel that shows the set of filters
Initial version, still needs some cleanup
2018-11-09 09:45:19 -08:00
Timothy Stack
b1a6d06490 [lss] refactor the force flag during indexing and some other stuff 2018-10-25 21:26:58 -07:00
Timothy Stack
8b9536100e [build] fix a typo in test_sql.sh 2018-10-17 07:54:59 -07:00
Timothy Stack
2589345e5c [perf] improve initial indexing times 2018-10-17 07:03:33 -07:00
Timothy Stack
2e10ca09d0 [line_buffer] fix crlf handling in log files 2018-10-12 07:46:18 -07:00
Timothy Stack
9fa3714c85 [build] missed cleaning test files 2018-10-12 07:23:28 -07:00
Timothy Stack
ac7ae1275a [cmds] add :redirect-to command for redirecting the output of commands in scripts
Related to #551
2018-10-12 07:12:35 -07:00
Timothy Stack
ea5ac46c0e [cmds] the output of the :pipe commands should go to the top of the output stack and not to a temp file 2018-10-11 07:09:52 -07:00
Timothy Stack
5f5e2d5c4e [cleanup] prune some includes and some other cleaning
Defect Number:
    Reviewed By:
   Testing Done:
2018-10-11 05:50:28 -07:00
Timothy Stack
9664b015c6 [textview] preserve location in view when changing filters
Defect Number:
    Reviewed By:
   Testing Done:
2018-10-08 07:43:08 -07:00
Timothy Stack
d1856b53ba [build] avoid adding -I/usr/include to CPPFLAGS
Defect Number:
    Reviewed By:
   Testing Done:
2018-10-02 23:04:14 -07:00
Timothy Stack
d09e1509dd [test] remove debugging 2018-08-27 07:19:54 -07:00
Timothy Stack
265f80c60d [test] locale tweak 2018-08-22 06:45:20 -07:00
Timothy Stack
2c36d97a35 [build] try some more things to fix travis test failures 2018-08-22 05:55:58 -07:00
Timothy Stack
bc26b92199 [json] some more journald log tweaks
Defect Number:
    Reviewed By:
   Testing Done:
2018-08-22 05:33:20 -07:00
Timothy Stack
26cccdafce [locale] some tweaks for recognizing non-english logs
Try to address some locale issues brought up in #533
2018-08-21 21:43:32 -07:00
Timothy Stack
0b36da15a6 add monotonic timestamp back to the journald format, map priority 1 to fatal as well 2018-08-21 11:39:47 -07:00