Skip to content

Commit c9a3a44

Browse files
committed
Merge branch 'main' of https://github.com/ClickHouse/clickhouse-docs into sedlinks
2 parents 37cf286 + 9233a8a commit c9a3a44

5 files changed

Lines changed: 144 additions & 24 deletions

File tree

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
---
2+
slug: /use-cases/observability/clickstack/demo-days/2026/04/03-04-2026
3+
title: 'Demo days - 03/04/2026'
4+
sidebar_label: '03/04/2026'
5+
pagination_prev: null
6+
pagination_next: null
7+
description: 'ClickStack demo days for 03/04/2026'
8+
doc_type: 'guide'
9+
keywords: ['ClickStack', 'Demo days']
10+
---
11+
12+
## New dashboard and saved search listing pages {#new-dashboard-and-saved-search-listing-pages}
13+
14+
*Demo by [@pulpdrew](https://github.com/pulpdrew)*
15+
16+
<iframe width="768" height="432" src="https://www.youtube.com/embed/dQCkNZElwcg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
17+
18+
Dashboards and saved searches have moved off the sidebar and onto dedicated listing pages. If your team has accumulated a meaningful number of dashboards, the old sidebar approach got unwieldy fast. The new pages show everything in a card view organised by tag, with name search and tag filtering built in. A denser list view is also available if you prefer it.
19+
20+
Favouriting is now part of the picture too. Star a dashboard or saved search and it pins to the top of the listing page and reappears in the sidebar for quick access, similar to how things worked before but without crowding the nav for everyone else. The listing page also surfaces alert status icons and "created by / updated by" metadata on each card, so you can see at a glance who owns what and whether anything is firing.
21+
22+
A new template gallery rounds things out. Four pre-built dashboards covering OTel runtime metrics for Node.js, Python, Go, and Java can be imported in a couple of clicks. Tags and the target metrics source can be edited during import, so you can slot them straight into your existing tagging structure.
23+
24+
**Related PRs:** [#1971](https://github.com/hyperdxio/hyperdx/pull/1971) Add dashboard listing page, [#2012](https://github.com/hyperdxio/hyperdx/pull/2012) Add saved searches listing page, [#2021](https://github.com/hyperdxio/hyperdx/pull/2021) Add favorites for dashboards and saved searches, [#2033](https://github.com/hyperdxio/hyperdx/pull/2033) Group dashboards and searches by tag, [#2031](https://github.com/hyperdxio/hyperdx/pull/2031) Show created/updated metadata, [#2053](https://github.com/hyperdxio/hyperdx/pull/2053) Add alert icons to dashboard list page, [#2010](https://github.com/hyperdxio/hyperdx/pull/2010) Add dashboard template gallery
25+
26+
## Filters for filters {#filters-for-filters}
27+
28+
*Demo by [@pulpdrew](https://github.com/pulpdrew)*
29+
30+
<iframe width="768" height="432" src="https://www.youtube.com/embed/Tfe9kJygoEg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
31+
32+
Dashboard variable filters now support their own filter conditions. The motivating case is straightforward: if you have a "service name" dropdown on a Node.js dashboard, you probably only want that dropdown to list Node.js services, not every service in your environment. You can now configure a filter condition directly on the dashboard variable to scope what gets shown.
33+
34+
The filter selector has also been updated to support multi-select. For dashboards that group by service, being able to pick several values at once from a dropdown makes comparisons a lot more practical.
35+
36+
**Related PRs:** [#1969](https://github.com/hyperdxio/hyperdx/pull/1969) Add conditions to Dashboard filters; Support filter multi-select
37+
38+
## RBAC for predefined dashboards {#rbac-for-predefined-dashboards}
39+
40+
*Demo by [@pulpdrew](https://github.com/pulpdrew)*
41+
42+
<iframe width="768" height="432" src="https://www.youtube.com/embed/AZ94-quHEuw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
43+
44+
Role-based access control now applies to ClickStack's preset dashboards. Previously these built-in dashboards ignored RBAC entirely, so any user could access them regardless of their assigned role. That gap is now closed.
45+
46+
Fine-grained read permissions work as you'd expect. A role configured with read-only access to specific services restricts users to seeing only the preset dashboards relevant to those services. Users in that role can view the dashboards and their filters, but the filter controls are locked to prevent editing. The demo shows a custom role with a "services" read permission scoped to a named service, and a user logged in with that role seeing exactly the dashboards and filter state they should have access to.
47+
48+
## Optimizations for searching {#optimizations-for-searching}
49+
50+
*Demo by [@knudtty](https://github.com/knudtty)*
51+
52+
<iframe width="768" height="432" src="https://www.youtube.com/embed/uVD2FKzoHjM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
53+
54+
ClickHouse's "Read in Order" optimisation makes search queries fast by reading data sequentially when the ORDER BY matches the table's primary key, stopping as soon as the LIMIT is reached. Benchmarking revealed that despite this, searches were still over-fetching on larger datasets. The issue comes down to the number of parts being iterated: even with the optimisation active, a sufficiently large table has enough parts that ClickHouse still reads more data than necessary.
55+
56+
The fix is a one-minute time window prepended to the windowed query array for search queries. Most searches have the data they need in the last minute anyway, so hitting that window first returns results almost instantly. If nothing is found there, the query falls back to progressively wider windows as usual. Separately, the ORDER BY optimisation was not being applied correctly to the `otel_traces` schema because the timestamp column used a `toDateTime(Timestamp)` expression that wasn't being recognised. That has been fixed too.
57+
58+
**Related PRs:** [#2019](https://github.com/hyperdxio/hyperdx/pull/2019) Use 1 minute window for searches, [#2014](https://github.com/hyperdxio/hyperdx/pull/2014) Fix optimize order by shortcomings for otel_traces
59+
60+
## Copy row and configurable filter sizes {#copy-row-and-configurable-filter-sizes}
61+
62+
*Demo by [@knudtty](https://github.com/knudtty)*
63+
64+
<iframe width="768" height="432" src="https://www.youtube.com/embed/e_IIKG3f6SE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
65+
66+
A copy-as-JSON button is now available in the row viewer, letting you grab the entire log row in one click. The button shows up in the full sidebar view too. It's handy for pasting a row into an LLM prompt to ask where this log would appear in the code, or just capturing a complete event for an incident report without manually selecting all the text.
67+
68+
The number of filter keys fetched in the sidebar is now a configurable team setting under Query Settings. The previous fixed limit meant that on larger datasets only a fraction of available filter attributes were visible. Now teams can raise that limit to surface more resource and log attributes. The change also includes virtualisation improvements to keep filter panel rendering fast even when a large number of filter groups are shown.
69+
70+
**Related PRs:** [#2035](https://github.com/hyperdxio/hyperdx/pull/2035) Add copy row as JSON button, [#2020](https://github.com/hyperdxio/hyperdx/pull/2020) New team setting for number of filters to fetch, [#1979](https://github.com/hyperdxio/hyperdx/pull/1979) Virtualize nested filter groups
71+
72+
## Tabs and groups in dashboards {#tabs-and-groups-in-dashboards}
73+
74+
*Demo by [@alex-fedotyev](https://github.com/alex-fedotyev)*
75+
76+
<iframe width="768" height="432" src="https://www.youtube.com/embed/tyumDlJuDTg" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
77+
78+
Dashboard tiles can now be organised into Groups. This replaces the previous model that had two separate container types ("sections" and "groups"), which required users to decide upfront which container type they wanted. The new single Group concept keeps things simpler: a Group is collapsible by default, can optionally have a visible border, and can have tabs added to it. Each tab holds its own set of tiles, and tiles can be moved between groups via drag handles.
79+
80+
The demo shows a group with a few customisation options toggled: collapsible on and off, border visible or hidden, tabs enabled or not. At demo time the PR was still in review with design feedback being gathered. Once it lands, it should give dashboard authors a more flexible and less confusing set of building blocks compared to the old two-container-type model.
81+
82+
**Related PRs:** [#1972](https://github.com/hyperdxio/hyperdx/pull/1972) Dashboard groups with tabs and collapsible/bordered options, [#2015](https://github.com/hyperdxio/hyperdx/pull/2015) Unify section/group into single Group
83+
84+
## ClickStack CLI {#clickstack-cli}
85+
86+
*Demo by [@wrn14897](https://github.com/wrn14897)*
87+
88+
<iframe width="768" height="432" src="https://www.youtube.com/embed/9XqJNhstabw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
89+
90+
The ClickStack CLI (`hdx`) is a new terminal TUI for searching, tailing, and inspecting logs and traces without leaving your terminal. It connects to your HyperDX instance using the same web session mechanism as the browser, so there's no separate API key to manage. After a one-time `hdx auth login` with your instance URL and email, it stays authenticated.
91+
92+
The TUI surface is the same search interface you'd get in the web app: same query syntax, same source selection, same ability to drill into individual log entries. One highlight is the trace waterfall view, where clicking into a log entry shows the full distributed trace rendered directly in the terminal. The demo also previews an early experiment with agentic usage: by giving an AI agent access to the CLI's schema introspection output alongside the ability to run queries via the ClickHouse proxy, the agent can investigate issues autonomously. The demo takes it further and shows the agent using web sessions to navigate the HyperDX UI via Playwright, pulling metrics from rendered charts to cross-reference with what it found in the logs.
93+
94+
**Related PRs:** [#2043](https://github.com/hyperdxio/hyperdx/pull/2043) Add @hyperdx/cli package — terminal TUI for searching and tailing events
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
slug: /use-cases/observability/clickstack/demo-days
3+
title: 'ClickStack demo days'
4+
pagination_prev: null
5+
pagination_next: null
6+
description: 'ClickStack demo days'
7+
doc_type: 'guide'
8+
keywords: ['ClickStack', 'Demo days']
9+
---
10+
11+
## ClickStack demo days {#clickstack-demo-days}
12+
13+
These folders contain recordings from our Demo Days - our internal dev calls, where we share what we’re currently building and exploring in ClickStack.
14+
15+
Some of what you'll see will make it into the product. Some is shared to get early feedback. And some is just experimental and may never ship.
16+
17+
If something catches your eye, check out the linked PRs and let us know what you think. We want this to be a space where the community can stay close to what's happening and help shape where ClickStack goes next.
18+
19+
If you've got questions or feedback, reach out on the ClickHouse Slack channel [#o11y-clickstack](https://clickhouse.com/slack) or via our [public repository](https://github.com/hyperdxio/hyperdx/tree/main).

docusaurus.config.en.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ const config = {
5656
url: "https://clickhouse.com",
5757
baseUrl: "/docs/",
5858
baseUrlIssueBanner: true,
59-
onBrokenLinks: process.env.ON_BROKEN_LINKS ?? "warn",
59+
onBrokenLinks: process.env.ON_BROKEN_LINKS ?? "throw",
6060
onBrokenMarkdownLinks: process.env.ON_BROKEN_MARKDOWN_LINKS ?? "warn",
6161
onDuplicateRoutes: "throw",
62-
onBrokenAnchors: process.env.ON_BROKEN_ANCHORS ?? "warn",
62+
onBrokenAnchors: process.env.ON_BROKEN_ANCHORS ?? "throw",
6363
favicon: "img/docs_favicon.ico",
6464
organizationName: "ClickHouse",
6565
trailingSlash: false,

plugins/floating-pages-exceptions.txt

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,4 @@
1010
integrations/language-clients/java/client-v1
1111
integrations/language-clients/java/jdbc-v1
1212
integrations/data-ingestion/clickpipes/postgres/maintenance.md
13-
interfaces/cpp
14-
interfaces/http
15-
interfaces/tcp
16-
interfaces/jdbc
17-
interfaces/mysql
18-
interfaces/odbc
19-
interfaces/postgresql
20-
interfaces/prometheus
21-
interfaces/ssh
22-
interfaces/grpc
23-
interfaces/arrowflight
24-
interfaces/overview
25-
operations/utilities/clickhouse-keeper-http-api.md
26-
operations/settings/detach-non-readonly-queries.md
27-
sql-reference/dictionaries/index.md
28-
sql-reference/functions/wasm_udf.md
29-
interfaces/client
13+
operations/utilities/clickhouse-keeper-http-api.md

sidebars.js

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -831,7 +831,7 @@ const sidebars = {
831831
},
832832
],
833833
},
834-
{
834+
{
835835
type: 'category',
836836
label: 'ClickPipes for BigQuery',
837837
collapsed: true,
@@ -853,6 +853,7 @@ const sidebars = {
853853
link: { type: 'doc', id: 'interfaces/native-clients-interfaces-index' },
854854
items: [
855855
'interfaces/cli',
856+
'interfaces/client',
856857
{
857858
type: 'category',
858859
label: 'Drivers and interfaces',
@@ -1106,7 +1107,10 @@ const sidebars = {
11061107
className: 'top-nav-item',
11071108
collapsed: true,
11081109
collapsible: true,
1109-
link: { type: 'doc', id: 'integrations/data-ingestion/etl-tools/dbt/index' },
1110+
link: {
1111+
type: 'doc',
1112+
id: 'integrations/data-ingestion/etl-tools/dbt/index',
1113+
},
11101114
items: [
11111115
'integrations/data-ingestion/etl-tools/dbt/features-and-configurations',
11121116
'integrations/data-ingestion/etl-tools/dbt/materializations',
@@ -1122,7 +1126,10 @@ const sidebars = {
11221126
className: 'top-nav-item',
11231127
collapsed: true,
11241128
collapsible: true,
1125-
link: { type: 'doc', id: 'integrations/data-ingestion/etl-tools/fivetran/index' },
1129+
link: {
1130+
type: 'doc',
1131+
id: 'integrations/data-ingestion/etl-tools/fivetran/index',
1132+
},
11261133
items: [
11271134
'integrations/data-ingestion/etl-tools/fivetran/reference',
11281135
'integrations/data-ingestion/etl-tools/fivetran/troubleshooting',
@@ -1662,7 +1669,7 @@ const sidebars = {
16621669
'chdb/datastore/io',
16631670
'chdb/datastore/execution-model',
16641671
'chdb/datastore/class-reference',
1665-
'chdb/configuration/performance-mode'
1672+
'chdb/configuration/performance-mode',
16661673
],
16671674
},
16681675
{
@@ -1967,7 +1974,7 @@ const sidebars = {
19671974
'use-cases/observability/clickstack/dashboards/dashboard-templates',
19681975
],
19691976
},
1970-
"use-cases/observability/clickstack/notebooks",
1977+
'use-cases/observability/clickstack/notebooks',
19711978
'use-cases/observability/clickstack/text-to-chart',
19721979
'use-cases/observability/clickstack/event_patterns',
19731980
'use-cases/observability/clickstack/event_deltas',
@@ -2040,6 +2047,22 @@ const sidebars = {
20402047
},
20412048
],
20422049
},
2050+
{
2051+
type: 'category',
2052+
label: 'Demo days',
2053+
link: {
2054+
type: 'doc',
2055+
id: 'use-cases/observability/clickstack/demo-days/index',
2056+
},
2057+
collapsed: true,
2058+
collapsible: true,
2059+
items: [
2060+
{
2061+
type: 'autogenerated',
2062+
dirName: 'use-cases/observability/clickstack/demo-days',
2063+
},
2064+
],
2065+
},
20432066
],
20442067
},
20452068
],

0 commit comments

Comments
 (0)