Seq 2023.4

TL;DR: Download Seq 2023.4 at or pull datalust/seq from Docker Hub.

Seq 2023.4 lands some long-awaited user experience improvements: upgraded autocomplete, a new range selector, and dashboards get custom time ranges at last!

Upgraded autocomplete

Seq has a rich query language with a stack of interesting features for interactive diagnostics. The new completion provider in Seq 2023.4 makes it easier to find language features and faster to write queries:

Seq 2023.4 autocomplete, for the query select mean(Elapsed) from stream where @MessageTemplate like 'HTTP%'.

The provider offers completions for keywords, built-ins, event property names, functions, and variables.

First-letter abbreviations work everywhere: not just for function and property names, like mt completing to @MessageTemplate in the demo above, but also for compound keyword sequences: fs for from stream, gb for group by, ย and ob for order by.

New range selector

We've long wanted to replace Seq's range selector: to provide a simpler and more modern "last x minutes" interaction model, to enable paging back and forward in time, and to make intuitive ranges like "today" and "this week" easier to select.

And here it is! ๐ŸŽ‰

Seq 2023.4 Events screen, showing a drop-down selector in place of the old From/To date range controls. The list shows options from Last 5m to Last 365d, all time, today, this week, and custom.

Most of the time, searching the last hour, day, or seven days will be just right. But for those times when you miss it, choosing Custom... provides the same start/end date range selection you'll be familiar with from earlier versions of Seq:

Seq 2023.4 Events screen, with custom date range picker show. Two calendar controls show start and end dates.

The new range selector works smoothly across Events, Dashboards, and the diagnostic Data > Storage screen.

Improving dashboards

The new range selector's back/forward paging and custom date ranges work for dashboards, too!

Seq 2023.4 Dashboards screen, showing a five minute time range. Clicking the forward and back arrows beside the range selector steps back to the previous 5 minute interval.

This unlocks all kinds of historical analysis scenarios. Dashboards in earlier Seq versions only supported "last x" range selection, which made it hard to compare say, this week vs last week.

You'll also find some more subtle improvements in how dashboards load and refresh themselves. We're really excited to be moving dashboards forward again ๐Ÿ˜Ž.

Changing the default search range

Along with a simpler range selection experience, a key goal for the new selector was to make it harder to inadvertently scan an entire Seq event store while looking for recent events.

On large, shared servers, it's important that searches run on a reasonable time range by default: searches that overshoot and scan all of history eat up CPU and I/O bandwidth, and can wastefully evict useful data from the page cache.

The new range selector defaults to a search range of one day. As an administrator you can change this, under Settings > System:

Back-navigation support in Events

Pressing the browser Back button on the Events screen will now cycle the search box, search range, and selected signals back through earlier values.

Seq won't execute each historical search or query as you step back: once you've found the parameters you're looking for, press the Go button to refresh the displayed results.

Indexing is now parallel

In the back-end, indexing of signals is now done by multiple threads, and in parallel with other storage maintenance operations such as retention policy processing. This means that:

a) the indexer is given more time to complete, since it doesn't need to yield for other operations, and

b) indexing capacity scales with the addition of cores, just like query execution.

For servers that are dealing with sustained heavy ingestion and have lot of signals defined, indexing stands a much better chance of keeping up in real-time.

Getting started

Seq 2023.4 is a highly-compatible in-place update. For servers running a 202x Seq version, running through the Windows MSI or pulling datalust/seq:latest will be all that's required to upgrade.

You can also find the full release notes on GitHub.

Nicholas Blumhardt

Read more posts by this author.