@Greptime: Greptime Monthly update No. 87 Prometheus native histograms now work end to end in GreptimeDB: write via remote write v…

X AI KOLs Timeline Tools

Summary

GreptimeDB's August 2026 monthly update introduces end-to-end support for Prometheus native histograms, an experimental service dependency graph from OTLP traces, and breaking changes in version v1.2.0-beta.2.

Greptime Monthly update No. 87 Prometheus native histograms now work end to end in GreptimeDB: write via remote write v2 or OTLP, aggregate with PromQL, read back over the Prometheus HTTP API including /metadata. The part that matters for migration: histogram_quantile and histogram_fraction evaluate classic le buckets, native histograms, and tables holding both — in a single scan. You don't have to convert everything first. Also in the August report: a service dependency graph derived from OTLP traces at read time (experimental), cumulative OTLP exponential histograms behind an opt-in flag, and two breaking changes in v1.2.0-beta.2 worth checking before you upgrade.
Original Article
View Cached Full Text

Cached at: 09/01/26, 05:49 PM

Greptime Monthly update No. 87

Prometheus native histograms now work end to end in GreptimeDB: write via remote write v2 or OTLP, aggregate with PromQL, read back over the Prometheus HTTP API including /metadata.

The part that matters for migration: histogram_quantile and histogram_fraction evaluate classic le buckets, native histograms, and tables holding both — in a single scan. You don’t have to convert everything first.

Also in the August report: a service dependency graph derived from OTLP traces at read time (experimental), cumulative OTLP exponential histograms behind an opt-in flag, and two breaking changes in v1.2.0-beta.2 worth checking before you upgrade.


Native Histogram Queries & an Experimental Service Dependency Graph | Greptime Monthly Report - No. 87

Source: https://greptime.com/blogs/2026-08-31-greptimedb-monthly-report

Summary

August 2026 · 2026-08-01 – 2026-08-31

What landed this month:

  • Prometheus native histograms are queryable end to end, from PromQL aggregations to Prometheus HTTP responses.
  • OTLP traces now yield a service dependency graph you can query with SQL, derived at read time and still experimental.
  • CumulativeOTLPexponential histograms can be ingested with an opt-in option.

GreptimeDB shippedv1.2.0-beta.2on August 21, the second beta of the v1.2 line: one-wayskip\_walchanges withALTER TABLE, JSON2 extension and layout preparation, procedure and admin event observability, and Flow runtime observability. Two breaking changes are worth checking before upgrading. Soft-drop and table recovery are enterprise-only again (db#8747) — beta1 exposed them in OSS because the enterprise gate was missing. An OSS beta2 metasrv rejectsgc\.experimental\_soft\_drop\.enable = trueat startup and cannot recover or purge tables soft-dropped in beta1, so recover what you need first. Persisted native histogram fields also changed signedness (db#8824), with no migration, downgrade, or mixed-version path.

Contributors

Over the past month,20 contributorsmerged a total of166 PRs. Among them,8 community contributorscontributed10 PRs. Welcome to our new contributors:@xhwhis,@tian1220A,@dhruvxvaishnav,@wy471x,@fzlzjerry,@grezzko!

Thanks to the community contributors who shipped this month:

Highlights

db#8850feat(servers): expose native histograms over Prometheus HTTP

Prometheus native histograms are now usable end to end: write them through remote write v2 or OTLP, aggregate them with PromQL, and read them back over the Prometheus HTTP API, including/metadata, label discovery and query annotations. Compared with classiclebuckets, you get high-resolution latency distributions without one series per bucket, and the cutover can be gradual:db#8874evaluateshistogram\_quantileandhistogram\_fractionover classic, native and mixed inputs in a single scan.

This closed the six-PR series July’s report flagged as in progress: sample-kind semantics (db#8758), ingest validation (db#8775), ranges that mix float and histogram samples (db#8784), vector operators (db#8798), and histogram-awaresum,avg,count,groupandcount\_values(db#8848). If you already store native histograms, two things changed: the persisted fields’ signedness (db#8824), and the config location, now underprom\_store(db#8744).

db#8614feat: read-time entity relationships graph over telemetry

Once OTLP traces are in GreptimeDB, the service dependency graph does not have to be built separately. Querygreptime\_private\.semantic\_entitiesandgreptime\_private\.semantic\_relationshipswith SQL to see which service calls which, with RED metrics on every edge. Derivation runs at read time and as the caller: each source table is authorized separately, cancellation and deadlines follow the caller, and the window comes from theobserved\_atfilter in the query, defaulting to the last hour (db#8794). Dependencies that telemetry cannot show can be inserted by hand intogreptime\_private\.semantic\_relationships\_declared.

It is still experimental: the tables sit ingreptime\_private, they are not documented, and the output schema may change. Services that only emit metrics needotlp\.experimental\_enable\_resource\_info, off by default. The rest of the month expanded what the graph recognizes: more derived edge types and built-in naming conventions for Prometheus, Kubernetes andgen\_aiattributes (db#8836,db#8854,db#8880,db#8797,db#8904,db#8936).

db#8900feat(otlp): support cumulative exponential histograms

If your OTel pipeline emits exponential histograms, you no longer have to convert them to fixed buckets before writing. Turn onotlp\.experimental\_enable\_exponential\_histogram, off by default, and cumulativeExponentialHistogrammetrics are stored as ordinary native histograms: the same storage format, and no protocol-specific query path.

Cumulative temporality only. Scales\-4\.\.=8map directly and finer resolutions are downscaled to 8; delta temporality, min/max, exemplars and OTel Arrow are not covered yet. Points that cannot be ingested are now reported rather than silently accepted, and a request mixing valid and invalid points returns partial success.

db#8768feat: add admin function to discard unflushed data

As a last-resort recovery step, you can now discard a region’s unflushed in-memory data without losing what is already on disk.ADMIN discard\_unflushed\_data\(\.\.\.\)takes a region ID, or a table name to cover every region of that table, and leaves all persisted SST files in place.

On the engine side (db#8600), the WAL replay frontier is advanced and persisted before the memtables are swapped, so repeated calls are safe and a stale in-flight flush cannot republish discarded rows.

db#8734feat(event): add event context to procedure events

greptime\_private\.eventsnow records where a DDL came from. Each submitted procedure event carries a structuredEventContextas JSONB that tells SQL, gRPC, Prometheus and OTLP apart, along with automatic schema-evolution paths (auto\_create,auto\_alter). Whether a table was altered by a person or by ingest is now a SQL query.

With the actor behind each event and admin function executions recorded as well (db#8849,db#8835,db#8856,db#8834), the events table is usable as an audit trail.

Also this month

  • Authorization: Bearer <token\>now works on the/v1/HTTP interfaces. The server treats the token as opaque and leaves validation to theUserProvider, so JWT and OIDC policy stays outside the database (db#8719).
  • information\_schema\.flow\_statisticsandSHOW FLOW STATUSshow how a Flow is actually running; in distributed Flow,start\_timeanduptime\_secondsare stillNULL(db#8392).
  • Smaller additions:uddsketch\_rank(db#8929) and mergeablestddev\_popstate functions (db#8972),greptime standalone start \-\-daemonon Unix (db#8960), and riscv64 cross-builds with release artifacts (db#8820).
  • Engine-side work continued: two-phase metric series scans are now on by default for eligible sparse metric regions and fall back to the legacy scan elsewhere, withexperimental\_series\_scan\_v2to turn them off (db#8826,db#8703,db#8788,db#8926); JSON2 gained per-column DDL settings, v2 layout primitives and v2 query support, though v2 is still not the default layout (db#8745,db#8833,db#8895,db#8901,db#8940,db#8964).

Ecosystem Updates

Grafana Plugin

2 releases this month (v3.0.1,v3.0.3).

  • Queries run through a Go backend against/v1/sql, so panel SQL, time macros included, can be used directly in Grafana alert rules.
  • AUse OTeltoggle auto-fills GreptimeDB-style logs and traces columns.
  • v3.0.3 fixes authentication.

Existing SQL panels, Query Builder configurations and dashboards keep working. Therelease postcovers the change in full.

Dashboard

4 releases this month (v0.13.14,v0.13.13,v0.13.12,v0.13.11).

  • Dashboards can be exported as a full snapshot.
  • A command palette makes navigation and actions keyboard-driven.
  • Virtual-list tables support column resizing, the compact view uses each column’s natural width, and there is a new width option.
  • Query results can go full screen.
  • Perses is updated to 0.54, and the guided tour is removed.
  • Connections no longer break after changing hosts.

Kubernetes Operator

1 release this month (v0.6.1).

  • Audit logs are configurable through the CRDs, including frontend groups.
  • Service ports can be customized.
  • TheingressCRD field is removed, which is a breaking change.

MCP Server

1 release this month (v0.5.2).

  • mcpdependency is pinned to\>=1\.8\.0,<2to preventModuleNotFoundErroron fresh installs.

Good First Issues

These two issues are a reasonable size for a first contribution to GreptimeDB. Comment on one to pick it up.

Issue#8951Metric engine ignores ttl set on a logical table, so the OTLP metrics write hint has no effect

The metric engine accepts a TTL on a logical table and then ignores it, so an OTLP write hint likex\-greptime\-hints: ttl=180dsilently does nothing. Either propagate the TTL to the physical table, or reject it atCREATE TABLEandALTER TABLEtime with a clear error.

Keywords: Table Engine, Write Protocols, SQL

Difficulty: Medium

Issue#8620Support configuring region engine options through environment variables

region\_engineoptions can only be set in TOML today. The equivalent environment variable,GREPTIMEDB\_STANDALONE\_\_REGION\_ENGINE\_\_MITO\_\_GLOBAL\_WRITE\_BUFFER\_REJECT\_SIZE, fails at startup instead of being applied. Make the region engine list follow the same layered configuration mapping as the rest of the config.

Keywords: Configuration, Standalone, Datanode

Difficulty: Medium

Get Involved

Open an issue for bugs and feature requests, or drop into the community channel.

Similar Articles