summaryrefslogtreecommitdiff
path: root/internal/clients/handlers
AgeCommit message (Collapse)Author
2026-03-20Optimize mapr parsing and stabilize aggregate shutdownPaul Buetow
2026-03-13Fix serverless output draining regressionsPaul Buetow
2026-03-13task 4abe7505: reset dmap generation statePaul Buetow
2026-03-13task 407: add client session transportPaul Buetow
2026-03-13task 399: add client session spec scaffoldingPaul Buetow
2026-03-03feat(client): register AUTHKEY after SSH session startPaul Buetow
2026-01-29refactor: improve Go best practices compliancePaul Buetow
- Add explicit interface satisfaction checks (var _ Interface = (*Type)(nil)) for compile-time verification: - TurboWriter implementations (DirectTurboWriter, TurboChannelWriter) - Processor implementations (GrepLineProcessor, ChannellessLineProcessor) - Parser implementations (genericParser, csvParser, genericKVParser, custom parsers, mimecastParser) - Logger implementations (file, stdout) - Handler implementations (ServerHandler, ClientHandler) - Connector implementations (Serverless, ServerConnection) - SSH callback implementations (KnownHostsCallback) - Improve error handling with context wrapping (%w): - SSH operations: GeneratePrivateRSAKey, Agent - Query parsing: Query.parse - SSH client connections: dial, session, handle methods - Fix receiver consistency: - Convert Query.String() from value to pointer receiver - Convert Outfile.String() from value to pointer receiver - Convert all KnownHostsCallback methods to pointer receivers - Convert mapCommand.Start() to pointer receiver - Reorganize file structure for better clarity: - internal/io/dlog/dlog.go: Move type definition before public functions - internal/mapr/token.go: Reorganize helper functions after public ones - Add documentation comments: - Query.String() method - Outfile.String() method - Regex.String() method - Improve config variable documentation All unit tests and integration tests pass. Amp-Thread-ID: https://ampcode.com/threads/T-019c0b08-0eeb-705d-a1f7-31bb764b659a Co-authored-by: Amp <amp@ampcode.com>
2025-06-29fix: resolve dcat test failures with channel-less implementationPaul Buetow
- Fix serverless mode extra blank lines by removing DTail 3 backward compatibility fallthrough for '\n' character - Fix empty line handling in client message processing - Update integration test framework to inherit environment variables, allowing turbo boost testing - Clean up debug logging code Note: dcat1d.txt test fails because DTail adds newline to files without trailing newlines - this is a protocol limitation where newlines are stripped during transmission and re-added by the client. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-28feat: implement channel-less grep for 62% performance improvementPaul Buetow
- Add LineProcessor interface for direct line processing without channels - Implement channel-less file reading in readfile_processor.go - Add optimized reader with 256KB buffering for efficient I/O - Create GrepLineProcessor for direct writing without intermediate channels - Fix serverless mode hanging due to stdin pipe detection - Fix base64 decoding bug (was counting characters instead of arguments) - Fix message output formatting by adding proper newline handling Performance improvements: - Channel-based: 9.00s → Channel-less: 3.42s (62% faster on 100MB files) - Removed channel synchronization overhead and context switching - Reduced memory allocations with buffer pooling Environment variables: - DTAIL_CHANNELLESS_GREP=yes - Enable channel-less implementation - DTAIL_OPTIMIZED_READER=yes - Use optimized buffered reader Known limitation: Inverted grep with context (--invert with --before/--after) not fully implemented in channel-less mode. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2022-02-15add missing newlines to server messages when running mapreduce queries tooPaul Buetow
2021-11-02Make it so that DTail 3 incompatibility error is printed when trying to ↵Paul Buetow
connect to it via a DTail client 4.x
2021-11-02Bugfix: Dealing correctly with files without newline characters, also add ↵Paul Buetow
more tests
2021-10-10vetting and linting and some code restylingPaul Buetow
2021-10-06move health check to separate client binaryPaul Buetow
2021-10-06enable faster shutdown - useful for dgrep/dmap and dcat commandsPaul Buetow
2021-10-05more on thisPaul Buetow
2021-10-05more on thisPaul Buetow
2021-10-02refactor config reader - also looks in additional search paths for config ↵Paul Buetow
file unless NONE is specified
2021-10-02move args to config packagePaul Buetow
logger package rewrite as dlog
2021-10-02fix auto reconnectPaul Buetow
2021-10-02add spartan modePaul Buetow
2021-10-02new docker test cases - also change default FATAL bg color to magentaPaul Buetow
2021-10-02mapreduce tables are in colors now tooPaul Buetow
2021-09-06Print out client/server update notice even from dtail server 4 to dtailPaul Buetow
client 3.
2021-08-22introduces the protocol packagePaul Buetow
2021-08-21read files bytewise for more control of whats happening - change transport ↵Paul Buetow
protocol for more control over newlines
2020-12-28mergePaul Buetow
2020-12-26code cleanup and minor refactoringsPaul Buetow
2020-12-08merge developPaul Buetow
2020-09-19server handler context refactoringPaul Buetow
2020-09-19refactor to have no context.Context in client handler structsPaul Buetow
2020-08-13bump up version to 3.0.0. can run continuous background mapreduce queries, ↵v3.0.0Paul Buetow
useful for log file monitorig for example. breaking protocol change which allows to mapreduce aggreate messages containing the default field separator |. add of more unit tests. add logformat mapreduce query keyword. add set mapreduce clause support and support to evaluate built-in functions such as md5sum() and maskdigits().
2020-07-02send $line base64 encoded over the wirePaul Buetow
2020-06-17initial log monitoring supportPaul Buetow
2020-03-04fix silent logging https://github.com/mimecast/dtail/issues/5Paul Buetow
2020-02-12exec will always err if status is > 0Paul Bütow
2020-02-07Introduce drun command, refactor code to use context packagePaul Bütow
2020-01-21Move commands to cmd/ and move internal dependencies to internal/Paul Bütow