Skip to content

Commit 2f65380

Browse files
Merge branch 'main' into claude/service-map-group-by
2 parents 72963d2 + 1fba1c3 commit 2f65380

59 files changed

Lines changed: 2368 additions & 284 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@hyperdx/api': patch
3+
---
4+
5+
fix: mark the MCP `clickstack_save_webhook` and `clickstack_save_alert` tools as open-world
6+
7+
Saved webhooks and alerts send HTTP requests to third-party endpoints, so both tools now declare `openWorldHint: true`.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@hyperdx/api': patch
3+
---
4+
5+
feat: read the MCP PromQL label catalog from ClickHouse's Prometheus HTTP API
6+
7+
`describe_source` on a ClickHouse-backed PromQL source now lists label and metric names through the `prometheus_api_v1` handler on ClickHouse 26.9+, and falls back to SQL on older servers, servers without the handler, and sources set to `table-function`.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
'@hyperdx/api': minor
3+
'@hyperdx/common-utils': minor
4+
---
5+
6+
feat: serve PromQL label lookups from ClickHouse's Prometheus HTTP API
7+
8+
On ClickHouse 26.9+ with the `prometheus_api_v1` handler, `/labels` and `/label/:name/values` for a ClickHouse-backed PromQL source now proxy to the handler instead of querying the TimeSeries tags table with SQL. Older servers, servers without the handler, and sources set to `table-function` keep the SQL path, so a source that runs queries over HTTP on 26.6-26.8 still gets label autocomplete.
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@hyperdx/api': patch
3+
'@hyperdx/app': patch
4+
'@hyperdx/common-utils': patch
5+
---
6+
7+
feat: Choose how a PromQL source on ClickHouse is evaluated (the Prometheus HTTP API or the `prometheusQuery` table functions) instead of probing the server on every query. Without a choice the server is still probed, but the answer is now kept for 5 minutes. A source set to the HTTP API against a server that does not serve it fails with a clear error. Onboarding pins a PromQL source it detects to the HTTP API when the server serves it.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
'@hyperdx/api': patch
3+
---
4+
5+
fix(mcp): drop the health verdict from clickstack_service_health
6+
7+
The tool no longer labels services critical, degraded or healthy, and no longer
8+
tells agents a service needs "no action". Each service keeps its threshold
9+
flags, score and a factual summary, so agents reason from the numbers instead of
10+
a verdict that service-wide totals can get wrong. `summary.statusCounts` is
11+
replaced by `summary.servicesFlagged`, and the span attributes
12+
`mcp.service_health.critical_count` and `mcp.service_health.degraded_count` are
13+
replaced by `mcp.service_health.flagged_count`.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
'@hyperdx/api': minor
3+
---
4+
5+
chore: upgrade bundled ClickHouse to 26.10.3.7
6+
7+
The all-in-one image and the Docker Compose files now use
8+
`clickhouse/clickhouse-server:26.10.3.7-alpine`. New TimeSeries tables default
9+
to schema version 8, which keeps each series' time range in a separate inner
10+
table; existing tables keep their layout. `system.metric_log` switches to the
11+
bucketed schema, and rows from before the upgrade move to `system.metric_log_0`.

‎agent_docs/observability.md‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -305,9 +305,10 @@ calls `/api/v1/prometheus/query{,_range}`, and `/labels` and
305305
(`QUERY_ATTRIBUTION_HEADER`), and the router parses it with `parseLogComment`
306306
into a `withQueryAttribution` scope layered over the auth middleware's `api`
307307
scope. The browser's surface and ids win; `trace` and `label` stay the
308-
server's. Queries the route runs through a ClickHouse client (label lookups,
309-
and the `prometheusQuery()`/`prometheusQueryRange()` fallback) pick the scope
310-
up as usual. Requests proxied to ClickHouse's Prometheus HTTP API on 26.6+ are tagged
308+
server's. Queries the route runs through a ClickHouse client (label lookups
309+
before 26.9, and the `prometheusQuery()`/`prometheusQueryRange()` fallback)
310+
pick the scope up as usual. Requests proxied to ClickHouse's Prometheus HTTP
311+
API (queries on 26.6+, label lookups on 26.9+) are tagged
311312
by `clickhousePrometheusRequest`: `log_comment` as a URL setting, `query_id` as
312313
the `X-ClickHouse-Query-Id` header, because the handler rejects `query_id` as an
313314
unknown setting in the URL.

‎docker-compose.ci.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ services:
2222
depends_on:
2323
- ch-server
2424
ch-server:
25-
image: clickhouse/clickhouse-server:26.8.36.3-alpine
25+
image: clickhouse/clickhouse-server:26.10.3.7-alpine
2626
environment:
2727
# default settings
2828
CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1

‎docker-compose.dev.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ services:
112112
hdx.dev.service: clickhouse
113113
hdx.dev.port: '${HDX_DEV_CH_HTTP_PORT:-8123}'
114114
hdx.dev.url: 'http://localhost:${HDX_DEV_CH_HTTP_PORT:-8123}'
115-
image: clickhouse/clickhouse-server:26.8.36.3-alpine
115+
image: clickhouse/clickhouse-server:26.10.3.7-alpine
116116
ports:
117117
- '${HDX_DEV_CH_HTTP_PORT:-8123}:8123' # http api
118118
- '${HDX_DEV_CH_NATIVE_PORT:-9000}:9000' # native

‎docker-compose.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ services:
109109
- ch-server
110110
- db
111111
ch-server:
112-
image: clickhouse/clickhouse-server:26.8.36.3-alpine
112+
image: clickhouse/clickhouse-server:26.10.3.7-alpine
113113
# WARNING: Exposing the database port will make it accessible from outside the container,
114114
# potentially allowing unauthorized access. If you uncomment the ports below,
115115
# ensure to secure your database (e.g., with strong authentication, proper network rules, and firewalls).

0 commit comments

Comments
 (0)