Tailed
  • Tailed
  • How it works
  • Zero-Install Web Tailer
    • Getting Started
    • Limitations
  • Command Line Tool
    • Installation
    • Reference
  • Client Libraries
    • .NET
    • Node JS
  • Colorization
    • Standard Rules
    • Custom Rules
  • Roadmap
  • GitHub Repositories
Powered by GitBook
On this page
  • How your browser tails the file
  • Why it only works with Chromium browsers
  1. Zero-Install Web Tailer

Limitations

Understanding the Zero-Install tailer and its limitations.

PreviousGetting StartedNextInstallation

Last updated 1 year ago

The Zero-Install tailer uses your web browser's File System API to gain access to a log file you specify on your computer.

As impressive as the Zero-Install tailer is, it operates in quite an inefficient way. For that reason, it is best suited to log files that are smaller than 50 MB, though your mileage my vary depending upon how powerful your computer is.

How your browser tails the file

Once you've provided the file you'd like to be tailed, the browser holds onto a handle for that file (a , specifically). Using that handle, we can then open the file (a ) and read its content.

However, a limitation of the API is that whenever the source file changes - which is going to be very often with a log file - the file has to be re-opened again from the handle.

Once re-opened, there's no way to quickly skip past most of the bytes in the file to the point the tailer had previously reached. As such, the entire file must be read from the beginning each time until it reaches the previous furthest point reached.

Clearly, this isn't a terribly efficient way of working, however it's still convenient and quick to run in most cases, provided you're not streaming extremely large files. The tailing process happens in a Worker, away from the user interface thread to avoid impact on your browsing experience.

will allow you to tail any file regardless of its increasing size.

Why it only works with Chromium browsers

At present, only Chromium browsers offer the File System API calls required to accomplish tailing a file (and only in a fairly inefficient manner, as outlined above).

It would be great to support Firefox and WebKit-based browsers such as Safari, but this is contingent on API support being available in those browsers.

The specific API calls that aren't supported outside of Chromium are (at the time of writing):

FileSystemFileHandle
File
Installing the Command Line Tool
window.showOpenFilePicker()
DataTransferItem.getAsFileSystemHandle()