Skip to content

Consolidate entity-free observability for 1.9 - #4302

Open
zqr10159 wants to merge 2 commits into
apache:masterfrom
zqr10159:maintenance/entity-free-observability
Open

Consolidate entity-free observability for 1.9#4302
zqr10159 wants to merge 2 commits into
apache:masterfrom
zqr10159:maintenance/entity-free-observability

Conversation

@zqr10159

@zqr10159 zqr10159 commented Aug 4, 2026

Copy link
Copy Markdown
Member

Summary

  • replace the log-specific module boundary with hertzbeat-observability and move entity-free signal storage/query ownership into the warehouse layer
  • expose authenticated OTLP metrics, logs, and traces ingestion over both HTTP and gRPC while keeping the existing observability query routes
  • add transition and Greptime end-to-end contracts, update packaging/CI/Sureness configuration, and align the 1.9 integration documentation
  • redesign the metrics, logs, and traces pages around a shared dense investigation workspace
  • support Greptime-normalized OTLP resource keys in log queries and allow cold PromQL queries to complete without a false storage-unavailable result

Motivation

The 1.9 release is the transition release before the 2.0 entity model. It needs the mature three-signal ingestion and query boundary without introducing the entity layer. This change consolidates those capabilities under observability and warehouse ownership while preserving the 1.9 operator routes and resource-based filtering model.

Validation

  • HTTP OTLP JSON and gRPC OTLP protobuf smoke against a real local HertzBeat backend and GreptimeDB: each transport independently wrote and queried one metric, one linked log, and one root trace
  • browser verification on the production UI routes: both transports displayed the expected metric Series, canonical service-labelled log, root operation, duration, status, and Trace ID; service/environment/operation filtering was exercised
  • focused backend tests: 25 warehouse tests, 22 observability tests, one Greptime cold-query timeout contract, and six startup transition contracts
  • ./mvnw -pl hertzbeat-startup -am -DskipTests package: all 24 reactor modules succeeded and produced the 1.9 startup jar
  • focused Angular tests: 16/16 passed
  • npm run package: production build succeeded
  • focused ESLint, Stylelint, Prettier, touched locale-key parity across five catalogs, changed-source CJK scans, and git diff --check passed

Upgrade impact

  • the Maven module and Java package boundary changes from hertzbeat-log to hertzbeat-observability
  • Greptime pipeline/table initialization is now owned by hertzbeat-warehouse
  • the 1.9 transition remains resource-scoped and does not require entity identifiers
  • existing public observability/OTLP route families remain available; authentication rules are updated consistently in packaged Sureness configurations

AI assistance: used for draft implementation and test iteration.
Human validation: ran the commands and real HTTP/gRPC/Greptime/browser checks listed above; all required checks passed.
Risk notes: the live local smoke used the cached GreptimeDB 1.0.1 image while repository Compose targets 1.1.3, so CI/E2E remains the final pinned-version proof. The Angular production build retains the repository's existing 3.12 MB initial-bundle budget warning. Existing unrelated full-catalog locale drift was not expanded; all keys added here are present in all five touched catalogs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant