diff options
| author | Paul Buetow <paul@buetow.org> | 2024-04-30 13:14:09 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-04-30 13:14:09 +0300 |
| commit | 07c56086aa0c4e015c9044e333ae4001debcb28d (patch) | |
| tree | 2b2c0a3dae32313d55c6f223095612dcf0b7d779 /gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html | |
| parent | 5ad16713db1f011c08d2db602ed5b1d3294f0939 (diff) | |
Update content for html
Diffstat (limited to 'gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html')
| -rw-r--r-- | gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html b/gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html index 95975892..9b3576ab 100644 --- a/gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html +++ b/gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html @@ -8,7 +8,7 @@ <link rel="stylesheet" href="style-override.css" /> </head> <body> -<h1 style='display: inline'>The release of DTail 4.0.0</h1><br /> +<h1 style='display: inline' id='ThereleaseofDTail400'>The release of DTail 4.0.0</h1><br /> <br /> <span class='quote'>Published at 2022-03-06T18:11:39+00:00</span><br /> <br /> @@ -30,9 +30,9 @@ <br /> <a class='textlink' href='https://dtail.dev'>https://dtail.dev</a><br /> <br /> -<h2 style='display: inline'>So, what's new in 4.0.0?</h2><br /> +<h2 style='display: inline' id='Sowhatsnewin400'>So, what's new in 4.0.0?</h2><br /> <br /> -<h3 style='display: inline'>Rewritten logging</h3><br /> +<h3 style='display: inline' id='Rewrittenlogging'>Rewritten logging</h3><br /> <br /> <span>For DTail 4, logging has been completely rewritten. The new package name is "internal/io/dlog". I rewrote the logging because DTail is a special case here: There are logs processed by DTail, there are logs produced by the DTail server itself, there are logs produced by a DTail client itself, there are logs only logged by a DTail client, there are logs only logged by the DTail server, and there are logs logged by both, server and client. There are also different logging levels and outputs involved.</span><br /> <br /> @@ -59,7 +59,7 @@ const ( <br /> <span>DTail also supports multiple log outputs (e.g. to file or to stdout). More are now easily pluggable with the new logging package. The output can also be "enriched" (default) or "plain" (read more about that further below).</span><br /> <br /> -<h3 style='display: inline'>Configurable terminal color codes</h3><br /> +<h3 style='display: inline' id='Configurableterminalcolorcodes'>Configurable terminal color codes</h3><br /> <br /> <span>A complaint I received from the users of DTail 3 were the terminal colors used for the output. Under some circumstances (terminal configuration) it made the output difficult to read so that users defaulted to "--noColor" (disabling colored output completely). I toke it by heart and also rewrote the color handling. It's now possible to configure the foreground and background colors and an attribute (e.g. dim, bold, ...).</span><br /> <br /> @@ -175,7 +175,7 @@ const ( jsonschema -i dtail.json schemas/dtail.schema.json </pre> <br /> -<h3 style='display: inline'>Serverless mode</h3><br /> +<h3 style='display: inline' id='Serverlessmode'>Serverless mode</h3><br /> <br /> <span>All DTail commands can now operate on log files (and other text files) directly without any DTail server running. So there isn't a need anymore to install a DTail server when you are on the target server already anyway, like the following example shows:</span><br /> <br /> @@ -191,7 +191,7 @@ jsonschema -i dtail.json schemas/dtail.schema.json <br /> <span>The way it works in Go code is that a connection to a server is managed through an interface and in serverless mode DTail calls through that interface to the server code directly without any TCP/IP and SSH connection made in the background. This means, that the binaries are a bit larger (also ship with the code which normally would be executed by the server) but the increase of binary size is not much.</span><br /> <br /> -<h3 style='display: inline'>Shorthand flags</h3><br /> +<h3 style='display: inline' id='Shorthandflags'>Shorthand flags</h3><br /> <br /> <span>The "--files" from the previous example is now redundant. As a shorthand, It is now possible to do the following instead:</span><br /> <br /> @@ -201,7 +201,7 @@ jsonschema -i dtail.json schemas/dtail.schema.json <br /> <span>Of course, this also works with all other DTail client commands (dgrep, dcat, ... etc).</span><br /> <br /> -<h3 style='display: inline'>Spartan (aka plain) mode</h3><br /> +<h3 style='display: inline' id='Spartanakaplainmode'>Spartan (aka plain) mode</h3><br /> <br /> <span>There's a plain mode, which makes DTail only print out the "plain" text of the files operated on (without any DTail specific enriched output). E.g.:</span><br /> <br /> @@ -212,7 +212,7 @@ jsonschema -i dtail.json schemas/dtail.schema.json <br /> <span>This might be useful if you wanted to post-process the output. </span><br /> <br /> -<h3 style='display: inline'>Standard input pipe</h3><br /> +<h3 style='display: inline' id='Standardinputpipe'>Standard input pipe</h3><br /> <br /> <span>In serverless mode, you might want to process your data in a pipeline. You can do that now too through an input pipe:</span><br /> <br /> @@ -227,7 +227,7 @@ jsonschema -i dtail.json schemas/dtail.schema.json % awk '.....' < /some/file | dtail .... </pre> <br /> -<h3 style='display: inline'>New command dtailhealth</h3><br /> +<h3 style='display: inline' id='Newcommanddtailhealth'>New command dtailhealth</h3><br /> <br /> <span>Prior to DTail 4, there was a flag for the "dtail" command to check the health of a remote DTail server (for use with monitoring system such as Nagios). That has been moved out to a separate binary to reduce complexity of the "dtail" command. The following checks whether DTail is operational on the current machine (you could also check a remote instance of DTail server, just adjust the server address).</span><br /> <br /> @@ -238,7 +238,7 @@ jsonschema -i dtail.json schemas/dtail.schema.json exec /usr/local/bin/dtailhealth --server localhost:2222 </pre> <br /> -<h3 style='display: inline'>Improved documentation</h3><br /> +<h3 style='display: inline' id='Improveddocumentation'>Improved documentation</h3><br /> <br /> <span>Some features, such as custom log formats and the map-reduce query language, are now documented. Also, the examples have been updated to reflect the new features added. This also includes the new animated example Gifs (plus documentation how they were created).</span><br /> <br /> @@ -252,7 +252,7 @@ exec /usr/local/bin/dtailhealth --server localhost:2222 </ul><br /> <span>That will be added in one of the future releases. </span><br /> <br /> -<h3 style='display: inline'>Integration testing suite</h3><br /> +<h3 style='display: inline' id='Integrationtestingsuite'>Integration testing suite</h3><br /> <br /> <span>DTail comes already with some unit tests, but what's new is a full integration testing suite which covers all common use cases of all the commands (dtail, dcat, dgrep, dmap) with a server backend and also in serverless mode.</span><br /> <br /> @@ -273,7 +273,7 @@ exec /usr/local/bin/dtailhealth --server localhost:2222 % go test -race -v ./integrationtests </pre> <br /> -<h3 style='display: inline'>Improved code</h3><br /> +<h3 style='display: inline' id='Improvedcode'>Improved code</h3><br /> <br /> <span>Not that the code quality of DTail has been bad (I have been using Go vet and Go lint for previous releases and will keep using these), but this time I had new tools (such as SonarQube and BlackDuck) in my arsenal to:</span><br /> <br /> @@ -283,11 +283,11 @@ exec /usr/local/bin/dtailhealth --server localhost:2222 </ul><br /> <span>Other than that, a lot of other code has been refactored as I saw fit.</span><br /> <br /> -<h3 style='display: inline'>Use of memory pools</h3><br /> +<h3 style='display: inline' id='Useofmemorypools'>Use of memory pools</h3><br /> <br /> <span>DTail makes excessive use of string builder and byte buffer objects. For performance reasons, those are now re-used from memory pools.</span><br /> <br /> -<h2 style='display: inline'>What's next</h2><br /> +<h2 style='display: inline' id='Whatsnext'>What's next</h2><br /> <br /> <span>DTail 5 won't be released any time soon I guess, but some 4.x.y releases will follow this year fore sure. I can think of:</span><br /> <br /> |
