OBSERVE v2.5 is out: a new SLO and error-budget module, Prometheus remote_write ingestion, trace waterfall improvements, and support for the TongWeb and BES domestic middleware, plus upgrade notes and known issues.
OBSERVE v2.5 focuses on three things: turning reliability from a verbal promise into measurable SLOs, opening up Prometheus metrics ingestion, and continuing to fill in support for domestic (xinchuang) environments. Here’s the full list, from features down to fixes.
This release lands three months after v2.4 and ships the two features our users asked for most: a real SLO workflow and first-class Prometheus ingestion. Both are designed to slot into an existing stack without a rewrite.
SLOs and error budgets. A new SLO module lets you define SLIs with PromQL, set targets and time windows, and automatically compute the remaining error budget, with fast-burn and slow-burn alerting in two tiers. Define once and dashboards and alerts stay in sync — no duplicated work across tools.
The module ships with three preset templates — availability, latency, and error-rate SLOs — so a new team can have its first SLO live in under ten minutes instead of reading a spec first.
Prometheus metrics ingestion. The metrics endpoint now officially speaks the remote_write protocol with native PromQL querying, so migrated dashboards and alert rules barely change. New write-amplification monitoring points directly at the source of high-cardinality metrics instead of making you hunt for it.
A migration helper compares your existing scrape config against what OBSERVE already sees and flags series that aren't arriving, so silent gaps surface during rollout instead of during an incident.
Trace waterfall improvements. The waterfall now supports filtering by span attributes and highlighting slow nodes. Expanding a single trace jumps straight to the matching log context, which cuts troubleshooting time noticeably for anyone chasing a slow request across a dozen services.
Domestic middleware support. Added runtime adaptation for two domestic middleware servers, TongWeb and BES, joining existing support for DM8, KingbaseES, Kylin, and UOS to cover the mainstream xinchuang stack end to end.
Both were validated on production-grade workloads, including a 40-node mixed x86/ARM64 cluster.
Beyond the headline features, this release also hardens the ingestion path: the remote_write receiver now back-pressures gracefully under load, and the storage tier compacts small segments more aggressively, which reduces disk churn on busy clusters by roughly a third in our internal benchmarks.
Upgrading from v2.4 to v2.5 in this order:
Known issue: v2.4 alert rules migrate automatically, but a few custom Webhook templates need to be re-saved once to render correctly.
If you're jumping from v2.3 or earlier, upgrade to v2.4 first and let it run for a day before going to v2.5 — the metadata schema changes are applied sequentially, and skipping a version can leave indexes out of sync.
v2.5 stays API-compatible with v2.4 for dashboards, alert rules, and the query endpoints, so upgrades are in-place. Two things to note: the legacy alert_group config key is deprecated in favor of alert_convergence (still read, but logs a warning), and the minimum supported Collector version is now 1.9 — older agents keep working but won't get the new ARM64 timestamp fix. The deprecated key will be removed in v3.0.
Installers and upgrade scripts are on the download page, and Docker images are already pushed. Existing users should run a load test in staging before rolling out to production — the SLO module in particular is worth exercising on a copy of real traffic first.
A full changelog with commit-level detail is linked from the download page, and the Docker image tags follow the same version scheme as the installers. If you hit anything unexpected, the upgrade script writes a rollback note to /var/log/observe/upgrade.log.