Seq Documentation and Support

Seq Documentation and Support

Welcome to the Seq documentation hub. You'll find comprehensive guides and documentation to help you start working with Seq as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Acknowledgements

Seq and its associated apps and tooling are made possible by many excellent tools, libraries, and frameworks built by others.

Technology
Language or platform
Notes

.NET

.NET Core is the lightweight, cross-platform runtime on which the Seq server is built. Read more about how we use .NET Core.

.NET

Autofac manages the lifetime of components that implement the Seq API, background task system, and other dynamic composition scenarios.

JavaScript

The Seq UI is built from AngularJS components.

JavaScript

Babel makes it possible for us to use cutting-edge ECMAScript features while targeting most browsers in current use.

Rust

Compact binary serialization for on-disk metadata files.

Rust

Seq's signal indexes use bit-vec for logical operations.

Rust

When we wrangle bytes, we wrangle them with this.

Rust

Used for endian-aware byte encoding throughout Seq's native storage engine.

JavaScript

The fast and beautiful Seq query syntax highlighting is implemented on CodeMirror.

Rust

Sane and streamlined Rust error handling.

Rust

Useful for cross-platform file locking APIs.

.NET

JSON.NET is our go-to JSON parser, used throughout the Seq .NET codebase.

Rust

Essential for non-constant static data in Rust programs.

Rust

Cross-platform Rust/C standard library bindings.

.NET

Lightning.NET is a friendly .NET wrapper for LMDB.

Native

LMDB is a fast, flexible, and very reliable key-value store. On Linux, we use LMDB to store Seq's configuration data. On Windows, a (now-deprecated) LMDB storage option was implemented prior to the introduction of Flare Native Storage.

.NET

ManagedEsent is a high-quality .NET wrapper for ESENT.

Rust

Cross-platform memory mapped files: we use this throughout Seq's storage engine.

-

Many of the icons in the Seq user interface are based on, or inspired by, icons from this set.

JavaScript

The essential library for date handling in JavaScript.

.NET

@EventType is generated by this great implementation of the Murmur3 hash algorithm.

Rust

Great alternative synchronization primitives for Rust.

JavaScript

We love these neat, compact scrollbars, and use them throughout the Seq UI.

JavaScript

The Seq UI's date pickers are built upon this library.

JavaScript

We use Plotly.js to generate ad-hoc and dashboard charts.

Rust

Serialization used throughout our Rust codebase.

.NET

Seq internally uses Serilog for diagnostics and telemetry. Structured logging FTW ;-)

Rust

Seq's native storage engine uses this crate for Snappy compression on Linux and Windows.

Native/.NET

On Windows, the ESENT-based storage implementation compresses all data using Snappy compression.

.NET

The Seq filter expression language is parsed using Sprache.

.NET

SQL-style queries are parsed using Superpower.

.NET

The Seq HTTP API uses URI templates throughout, processed using this great library.

JavaScript

An essential companion in our JavaScript programming.

JavaScript

On the client-side, URI template interactions are through this handy implementation.

Rust

UUIDs, for Rust.

Rust

Windows API bindings.