CINXE.COM
Structured Blog
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>Structured Blog</title> <meta name="HandheldFriendly" content="True" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="shortcut icon" href="https://blog.datalust.co/content/images/size/w256h256/2019/05/favicon-1.png"> <link rel="stylesheet" type="text/css" href="https://blog.datalust.co/assets/css/screen.css?v=3d37cb1558" /> <link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Merriweather:300,700,700italic,300italic|Open+Sans:700,400" /> <meta name="description" content="Seq — Machine data, for humans."> <link rel="icon" href="https://blog.datalust.co/content/images/size/w256h256/2019/05/favicon-1.png" type="image/png"> <link rel="canonical" href="https://blog.datalust.co/"> <meta name="referrer" content="no-referrer-when-downgrade"> <link rel="next" href="https://blog.datalust.co/page/2/"> <meta property="og:site_name" content="Structured Blog"> <meta property="og:type" content="website"> <meta property="og:title" content="Structured Blog"> <meta property="og:description" content="Seq — Machine data, for humans."> <meta property="og:url" content="https://blog.datalust.co/"> <meta property="og:image" content="https://blog.getseq.net/content/images/size/w1200/2018/09/bellevue-sky.jpg"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Structured Blog"> <meta name="twitter:description" content="Seq — Machine data, for humans."> <meta name="twitter:url" content="https://blog.datalust.co/"> <meta name="twitter:image" content="https://blog.getseq.net/content/images/size/w1200/2018/09/bellevue-sky.jpg"> <meta name="twitter:site" content="@datalust_seq"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="797"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "publisher": { "@type": "Organization", "name": "Structured Blog", "url": "https://blog.datalust.co/", "logo": { "@type": "ImageObject", "url": "https://blog.getseq.net/content/images/2018/09/Seq-Main-Light-400px.png" } }, "url": "https://blog.datalust.co/", "name": "Structured Blog", "image": { "@type": "ImageObject", "url": "https://blog.getseq.net/content/images/size/w1200/2018/09/bellevue-sky.jpg", "width": 1200, "height": 797 }, "mainEntityOfPage": "https://blog.datalust.co/", "description": "Seq — Machine data, for humans." } </script> <meta name="generator" content="Ghost 5.116"> <link rel="alternate" type="application/rss+xml" title="Structured Blog" href="https://blog.datalust.co/rss/"> <script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.50/umd/portal.min.js" data-i18n="true" data-ghost="https://blog.datalust.co/" data-key="af079ed46aae4ba5abb578c10d" data-api="https://seq.ghost.io/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content, .gh-post-upgrade-cta { display: flex; flex-direction: column; align-items: center; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; text-align: center; width: 100%; color: #ffffff; font-size: 16px; } .gh-post-upgrade-cta-content { border-radius: 8px; padding: 40px 4vw; } .gh-post-upgrade-cta h2 { color: #ffffff; font-size: 28px; letter-spacing: -0.2px; margin: 0; padding: 0; } .gh-post-upgrade-cta p { margin: 20px 0 0; padding: 0; } .gh-post-upgrade-cta small { font-size: 16px; letter-spacing: -0.2px; } .gh-post-upgrade-cta a { color: #ffffff; cursor: pointer; font-weight: 500; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a:hover { color: #ffffff; opacity: 0.8; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a.gh-btn { display: block; background: #ffffff; text-decoration: none; margin: 28px 0 0; padding: 8px 18px; border-radius: 4px; font-size: 16px; font-weight: 600; } .gh-post-upgrade-cta a.gh-btn:hover { opacity: 0.92; }</style> <script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/sodo-search.min.js" data-key="af079ed46aae4ba5abb578c10d" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/main.css" data-sodo-search="https://seq.ghost.io/" data-locale="en" crossorigin="anonymous"></script> <link href="https://blog.datalust.co/webmentions/receive/" rel="webmention"> <script defer src="/public/cards.min.js?v=3d37cb1558"></script> <link rel="stylesheet" type="text/css" href="/public/cards.min.css?v=3d37cb1558"> <script defer src="/public/member-attribution.min.js?v=3d37cb1558"></script><style>:root {--ghost-accent-color: #15171A;}</style> <style> article.post { max-width: 940px; } .post-content p img, figure.kg-image-card img { max-width: 100%; } .datalust-attn { padding: 1em; margin-bottom: 1.75em; } .datalust-attn.datalust-info { background: #e4f3f6; } .datalust-attn pre { background: white !important; } .datalust-attn code { background: none; } figcaption { margin-top: 0 !important; font-style: italic; font-size: 80%; } h1, h2, h3, h4, h5, h6 { font-family: Roboto, sans-serif !important; font-weight: 500 !important; -webkit-font-feature-settings: normal !important; -moz-font-feature-settings: normal !important; -o-font-feature-settings: normal !important; font-feature-settings: normal !important; } body { font-family: Roboto, sans-serif !important; -webkit-font-feature-settings: normal !important; -moz-font-feature-settings: normal !important; -o-font-feature-settings: normal !important; font-feature-settings: normal !important; } pre, code, tt, pre code, pre tt { font-family: "Roboto Mono", monospace, sans-serif !important; } .kg-image-card figcaption, .kg-gallery-card figcaption { text-align: center; } pre[class*="language-"] { margin-bottom: 1.75em !important; } </style> <link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap&subset=cyrillic" rel="stylesheet"> <link href="https://fonts.googleapis.com/css?family=Roboto+Mono:300,400,500&display=swap&subset=cyrillic" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="https://blog.datalust.co/assets/css/prism.css?v=3d37cb1558" /> <link rel="stylesheet" type="text/css" href="https://blog.datalust.co/assets/css/override.css?v=3d37cb1558" /> </head> <body class="home-template nav-closed"> <div class="nav"> <h3 class="nav-title">Menu</h3> <a href="#" class="nav-close"> <span class="hidden">Close</span> </a> <ul> <li class="nav-index" role="presentation"><a href="https://blog.datalust.co">Index</a></li> <li class="nav-seq-home" role="presentation"><a href="https://datalust.co/seq">Seq Home</a></li> <li class="nav-twitter" role="presentation"><a href="https://twitter.com/datalust_seq">Twitter</a></li> </ul> <a class="subscribe-button icon-feed" href="https://blog.datalust.co/rss/">Subscribe</a> </div> <span class="nav-cover"></span> <div class="site-wrapper"> <header class="main-header " style="background-image: url(https://blog.getseq.net/content/images/2018/09/bellevue-sky.jpg)"> <nav class="main-nav overlay clearfix"> <a class="blog-logo" href="https://datalust.co/seq"><img src="https://blog.getseq.net/content/images/2018/09/Seq-Main-Light-400px.png" alt="Seq Homepage" /></a> <a class="menu-button icon-menu" href="#"><span class="word">Menu</span></a> </nav> <div class="vertical"> <div class="main-header-content inner"> <h1 class="page-title">Structured Blog</h1> <h2 class="page-description">Seq — Machine data, for humans.</h2> </div> </div> <a class="scroll-down icon-arrow-left" href="#content" data-offset="-45"><span class="hidden">Scroll Down</span></a> </header> <main id="content" class="content" role="main"> <div class="extra-pagination inner"> <nav class="pagination"> <span class="page-number">Page 1 of 16</span> <a class="older-posts" href="/page/2/">Older Posts <span aria-hidden="true">→</span></a> </nav> </div> <article class="post no-image"> <header class="post-header"> <h2 class="post-title"><a href="/replace-function/">Replace Function</a></h2> </header> <section class="post-excerpt"> <p>Seq 2025.1 introduces a Replace function that replaces occurrences of a pattern with a replacement. To replace the word March with the word April: select <a class="read-more" href="/replace-function/">»</a></p> </section> <footer class="post-meta"> <img class="author-thumb" src="https://blog.datalust.co/content/images/2022/03/headshot2-trans.png" alt="Liam McLennan" nopin="nopin" /> <a href="/author/liam/">Liam McLennan</a> <time class="post-date" datetime="2025-03-26">26 March 2025</time> </footer> </article> <article class="post no-image"> <header class="post-header"> <h2 class="post-title"><a href="/system-notifications/">System Notifications</a></h2> </header> <section class="post-excerpt"> <p>TL;DR: Seq 2025.1 supports connecting system notifications to an output app instance to proactively receive notifications. The Seq UI displays notifications when system events <a class="read-more" href="/system-notifications/">»</a></p> </section> <footer class="post-meta"> <img class="author-thumb" src="https://blog.datalust.co/content/images/2022/03/headshot2-trans.png" alt="Liam McLennan" nopin="nopin" /> <a href="/author/liam/">Liam McLennan</a> <time class="post-date" datetime="2025-03-13">13 March 2025</time> </footer> </article> <article class="post no-image"> <header class="post-header"> <h2 class="post-title"><a href="/faster-percentile/">Faster Percentile</a></h2> </header> <section class="post-excerpt"> <p>TL;DR: Dashboards, alerts and queries that include percentile calculations will run faster and more efficiently with Seq 2025.1, in exchange for a small reduction <a class="read-more" href="/faster-percentile/">»</a></p> </section> <footer class="post-meta"> <img class="author-thumb" src="https://blog.datalust.co/content/images/2022/03/headshot2-trans.png" alt="Liam McLennan" nopin="nopin" /> <a href="/author/liam/">Liam McLennan</a> <time class="post-date" datetime="2025-03-03">03 March 2025</time> </footer> </article> <article class="post no-image"> <header class="post-header"> <h2 class="post-title"><a href="/the-seq-command-palette/">Introducing the Seq Command Palette</a></h2> </header> <section class="post-excerpt"> <p>TL;DR: ever wanted to reset the Seq events screen quickly, deselecting active signals, clearing the filter box, and resetting the date range? In Seq 2025. <a class="read-more" href="/the-seq-command-palette/">»</a></p> </section> <footer class="post-meta"> <img class="author-thumb" src="//www.gravatar.com/avatar/b36c0848ba0edb962dd202a7651ad4bc?s=250&d=mm&r=x" alt="Nicholas Blumhardt" nopin="nopin" /> <a href="/author/nblumhardt/">Nicholas Blumhardt</a> <time class="post-date" datetime="2025-02-19">19 February 2025</time> </footer> </article> <article class="post no-image"> <header class="post-header"> <h2 class="post-title"><a href="/seq-2025-1-preview-1/">Seq 2025.1 Preview 1</a></h2> </header> <section class="post-excerpt"> <p>It's time to take the wraps off the next big Seq update! The 2025.1 preview MSIs are now on the Seq download page <a class="read-more" href="/seq-2025-1-preview-1/">»</a></p> </section> <footer class="post-meta"> <img class="author-thumb" src="//www.gravatar.com/avatar/b36c0848ba0edb962dd202a7651ad4bc?s=250&d=mm&r=x" alt="Nicholas Blumhardt" nopin="nopin" /> <a href="/author/nblumhardt/">Nicholas Blumhardt</a> <time class="post-date" datetime="2025-01-29">29 January 2025</time> </footer> </article> <article class="post no-image"> <header class="post-header"> <h2 class="post-title"><a href="/persistent-logs-and-traces-for-the-net-aspire-dashboard/">Persistent logs and traces for .NET Aspire</a></h2> </header> <section class="post-excerpt"> <p>This post continues on from a previous post, Enhancing .NET Aspire Observability with Seq. Since that post was published, a Seq component has been included in <a class="read-more" href="/persistent-logs-and-traces-for-the-net-aspire-dashboard/">»</a></p> </section> <footer class="post-meta"> <img class="author-thumb" src="https://blog.datalust.co/content/images/2022/03/headshot2-trans.png" alt="Liam McLennan" nopin="nopin" /> <a href="/author/liam/">Liam McLennan</a> <time class="post-date" datetime="2024-05-22">22 May 2024</time> </footer> </article> <article class="post no-image"> <header class="post-header"> <h2 class="post-title"><a href="/space-efficient-indexing-for-immutable-log-data/">Space-efficient indexing for immutable log data</a></h2> </header> <section class="post-excerpt"> <p>This post describes our approach to implementing a disk-backed hashmap in Rust for indexing high-cardinality predicates in our diagnostics product, Seq. If you've ever <a class="read-more" href="/space-efficient-indexing-for-immutable-log-data/">»</a></p> </section> <footer class="post-meta"> <img class="author-thumb" src="https://blog.datalust.co/content/images/2018/09/6721458.png" alt="Ashley Mannix" nopin="nopin" /> <a href="/author/ashley/">Ashley Mannix</a> <time class="post-date" datetime="2024-05-08">08 May 2024</time> </footer> </article> <article class="post no-image"> <header class="post-header"> <h2 class="post-title"><a href="/announcing-seq-2024-3/">Announcing Seq 2024.3</a></h2> </header> <section class="post-excerpt"> <p>TL;DR: With Seq 2024.3, Seq gains user-defined high-cardinality indexes, its first new index type since the introduction of signal indexes back in 2018! If <a class="read-more" href="/announcing-seq-2024-3/">»</a></p> </section> <footer class="post-meta"> <img class="author-thumb" src="//www.gravatar.com/avatar/b36c0848ba0edb962dd202a7651ad4bc?s=250&d=mm&r=x" alt="Nicholas Blumhardt" nopin="nopin" /> <a href="/author/nblumhardt/">Nicholas Blumhardt</a> <time class="post-date" datetime="2024-05-03">03 May 2024</time> </footer> </article> <article class="post no-image"> <header class="post-header"> <h2 class="post-title"><a href="/faster-search/">Faster searches with property indexes</a></h2> </header> <section class="post-excerpt"> <p>Now in preview, Seq 2024.3 introduces a new index type on event properties, known as expression indexes. Under the right circumstances, expression indexes reduce search <a class="read-more" href="/faster-search/">»</a></p> </section> <footer class="post-meta"> <img class="author-thumb" src="https://blog.datalust.co/content/images/2022/03/headshot2-trans.png" alt="Liam McLennan" nopin="nopin" /> <a href="/author/liam/">Liam McLennan</a> <time class="post-date" datetime="2024-04-30">30 April 2024</time> </footer> </article> <article class="post no-image"> <header class="post-header"> <h2 class="post-title"><a href="/seq-2024-2-released/">Seq 2024.2 released 🎉</a></h2> </header> <section class="post-excerpt"> <p>TL;DR: for the latest UX and performance improvements, pull datalust/seq:latest from Docker Hub, or grab the MSI from datalust.co/download. Seq 2024. <a class="read-more" href="/seq-2024-2-released/">»</a></p> </section> <footer class="post-meta"> <img class="author-thumb" src="//www.gravatar.com/avatar/b36c0848ba0edb962dd202a7651ad4bc?s=250&d=mm&r=x" alt="Nicholas Blumhardt" nopin="nopin" /> <a href="/author/nblumhardt/">Nicholas Blumhardt</a> <time class="post-date" datetime="2024-03-27">27 March 2024</time> </footer> </article> <nav class="pagination"> <span class="page-number">Page 1 of 16</span> <a class="older-posts" href="/page/2/">Older Posts <span aria-hidden="true">→</span></a> </nav> </main> <footer class="site-footer clearfix"> <section class="copyright"><a href="https://blog.datalust.co">Structured Blog</a> © 2025</section> <section class="poweredby">Proudly published with <a href="https://ghost.org">Ghost</a></section> </footer> </div> <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script> <script defer data-domain="blog.datalust.co" src="https://plausible.io/js/plausible.js"></script> <script type="text/javascript" src="https://blog.datalust.co/assets/js/jquery.fitvids.js?v=3d37cb1558"></script> <script type="text/javascript" src="https://blog.datalust.co/assets/js/index.js?v=3d37cb1558"></script> <script type="text/javascript" src="https://blog.datalust.co/assets/js/prism.js?v=3d37cb1558"></script> <script id="dsq-count-scr" src="//getseq.disqus.com/count.js" async></script> </body> </html>