Commit Graph

65 Commits (master)

Author SHA1 Message Date
Tim Stack 46b2a9f1ee [piper] start support for demux
... and other misc things:

* Bump to C++17
* Add zookeeper_log
1 month ago
Tim Stack 844147bc27 [security] improve handling of file names with escape sequences 2 months ago
Tim Stack 2adf96fe89 [perf] some optimizations 4 months ago
Tim Stack 243593835b [doc.sections] fixes for man pages 9 months ago
Tim Stack 80bf31b338 [markdown] add border-left/border-right support 10 months ago
Tim Stack 401ec5181f [piper] add metadata to piper file header and cleanup workdir 11 months ago
Tim Stack 0361ed5700 [build] some tidying up of the headers 11 months ago
Tim Stack 5787f47767 [piper] replace piper_proc with a thread
Related to #1029
11 months ago
Tim Stack e0ff4434a9 [logfile] report utf error location
Related to #1156
11 months ago
Tim Stack d940d9d5eb [logfile] plumb gzip header through file meta 2 years ago
Tim Stack 740b827901 [logfile] handle logs with ANSI escapes
This is a partial fix for handling ANSI escapes in
parts of log messages that would prevent regexes
from matching.  Still more work to do.

Related to #1057
2 years ago
Tim Stack 66ec8e553e [build] fix static var issue 2 years ago
Tim Stack 13f161d21e [build] fix some warnings 2 years ago
Tim Stack 1ae1600f7b [line_buffer] cache compressed files 2 years ago
Timothy Stack 8ef581177c [line_buffer] add some performance counters for tracking SQL perf
Also, check for keyboard input during SQL execution
so we can cancel.

Fixes #894
2 years ago
Timothy Stack 39763b2d31 [vtab] add indexes for text columns 2 years ago
Timothy Stack 36e9433891 [perf] try to overlap line buffer i/o 2 years ago
Timothy Stack f9f797fc9d [logfile_sub_source] add log message watch expressions
Fixes #539
2 years ago
Timothy Stack a27198e8ca [regex101] add an integration with regex101
... and a pile of other changes
2 years ago
Timothy Stack 0785a432fa [console] colorize console output 2 years ago
Timothy Stack 81e63784e7 [modernize] some more cleanups 2 years ago
Timothy Stack 66ef5fdae1 [clang-format] init 2 years ago
Timothy Stack e593bde875 [build] fix some issues on xenial32 3 years ago
Timothy Stack f5e88b7158 [docs] add ARCHITECTURE.md and various other things 3 years ago
Phil Hord f10a303f54 Revert "Don't try to read concatenated gzip streams"
This reverts commit 1d127053e9.
4 years ago
Timothy Stack 51d1204a96 [arc] add content hash to archive temp dir and tech debt 4 years ago
Timothy Stack db8a3c4d38 [debt] doing some cleanup
Defect Number:
    Reviewed By:
   Testing Done:
4 years ago
Phil Hord 1d127053e9 Don't try to read concatenated gzip streams
Don't try to continue reading the next stream of a concatenated
gzip file.  The next stream may be CRC noise or other garbage.

Maybe in the future we should look for a gzip header in the
following bytes of the stream and try to decode from there.
But it's not clear that anyone ever uses this supposed gzip
feature anyway.

Let's just end the stream when we reach EOS. Also, if the
stream fails to init, let's leave it closed instead of throwing
an error no one is likely to catch.  Log the error msg from
zlib if one is provided.
4 years ago
Timothy Stack ce0383dee1 [build] fix some warnings 4 years ago
Timothy Stack 0940e97b2b [nits] fix some naming issues
Fixes #169
4 years ago
Timothy Stack 138a506b1a [perf] a few performance tweaks 4 years ago
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.
5 years ago
Timothy Stack 02c53976b4 Some refactoring for the line buffer and other cleanups
Fixes #649
5 years ago
Timothy Stack fb7d6eafaf [build] some refactoring of files 5 years ago
Timothy Stack 66ef968529 [logfile] fix a performance bug in searching json logs 6 years ago
Timothy Stack 2589345e5c [perf] improve initial indexing times 6 years ago
Phil Hord 5a20829ed4 dynamic exception specifications are deprecated in C++11
Remove exception specifications to appease modern compilers and reduce
warning counts.

I sort of hate to remove all these exception-decls, but they are in fact
deprecated, and my compiler loves to complain.
6 years ago
Timothy Stack 88a192aeeb [line_buffer] if the size of the file is known, reduce the requested buffer size and ignore attempts to shrink the buffer 6 years ago
Timothy Stack 34d1422b76 [highlight] only highlight keywords in text files
Fixes #408
7 years ago
Timothy Stack 99eb3a54f3 [spectro] support marking lines in a bucket 8 years ago
Timothy Stack e8f400abfa [logfile] truncation detection was not taking into account compressed files 8 years ago
Timothy Stack 6e196bff79 [line_buffer] clear cached data when doing a read 9 years ago
Timothy Stack b6e10f4ee4 bump the max line size to try and solve some json log issues 9 years ago
Timothy Stack 25a375f08d [misc] fix various bugs 9 years ago
Timothy Stack 5a7c5a2139 [piper] the piper was not exiting if the stream it was reading did not terminate with a line feed 9 years ago
Timothy Stack cfa628f6c4 various fixes
Defect Number:
    Reviewed By:
   Testing Done:
10 years ago
Timothy Stack a71ca1f1ca [filter] some improvements to the core filtering code 10 years ago
Timothy Stack 9ff2d3774d [line_buffer] split long lines
Fixes #81
10 years ago
Timothy Stack b6baae7730 [debug] more debugging stuff
Defect Number:
    Reviewed By:
   Testing Done:
10 years ago
Timothy Stack 601c19a537 [scrollbar] change the look of the scrollbar 10 years ago