Repository navigation
feat(observability): add managed monitoring stack and diagnostics - #2388
Open
happy-v587 wants to merge 12 commits into
Open
happy-v587 wants to merge 12 commits into
happy-v587 wants to merge 12 commits into
Conversation
happy-v587
requested review from
AlexStocks,
PsiACE,
frf12,
frostming and
zhanghuidinah
as code owners
November 2, 2026 05:00
happy-v587
force-pushed
the
feat/1985-observability-stack
branch
from
November 2, 2026 06:45
54ac005 to
187355c
Compare
PsiACE
reviewed
Nov 2, 2026
happy-v587
force-pushed
the
feat/1985-observability-stack
branch
2 times, most recently
from
November 3, 2026 01:40
0c976ea to
2e96771
Compare
AlexStocks
reviewed
Nov 3, 2026
happy-v587
force-pushed
the
feat/1985-observability-stack
branch
from
November 3, 2026 08:22
69a82da to
6e07f28
Compare
7 tasks
happy-v587
force-pushed
the
feat/1985-observability-stack
branch
from
November 3, 2026 13:00
6e07f28 to
8dfc9c8
Compare
hidb4ai
requested changes
Nov 3, 2026
hidb4ai
left a comment
Contributor
There was a problem hiding this comment.
Please address the managed logging configuration conflict below before merging.
Add an opt-in monitoring stack with Grafana, Prometheus, Loki, Tempo, OpenTelemetry Collector and Phoenix, plus external-platform connections. Provide CLI lifecycle commands and native service opt-in profiles. Expose correlated service, Scope, processing and Provider diagnostics. Observe HTTP responses, model calls, Bootstrap delivery and Artifact reads without exporting content, credentials or unbounded identity labels. Preserve Worker cleanup, failure diagnostics and managed logging behavior. Update generated API contracts, bilingual operating guides and focused coverage for signal correlation, failure isolation and spawned Workers. Refs oceanbase#1985
Skip the four deployment directory symlink aliases that license-eye reads as files, while retaining checks on the real packaged resources. Add the required Apache-2.0 headers to 54 source and configuration files, keeping the Docker syntax directive first and all original source bytes intact. Validate with the pinned license-eye v0.9.0 checker, make check and the 62 API contract tests.
Run exporter-dependent configuration coverage in the OTLP job and require zero skips. Keep CLI defaults, real tracing identity and collector failure recovery in sync with their public contracts. Accept the provider_factory keyword in controlled service-chain models. Classify generic timeouts at worker boundaries so synchronous flush retains processing_failed.
Scope revalidation shares the 800 ms Stop budget, so a retry can time out before it reads its existing pause. Reproduce that path with a delayed real Scope response and verify persisted receipt identity, target position, retained pause and no duplicate flush instead of requiring one timing-dependent diagnostic.
Server process inventory imports psutil independently of the optional code integration. Include it in the server dependency closure and refresh the root, harness and evaluation locks so minimal server installations, native services and managed packages can start without the code extra.
The Python 3.11 shard exhausted the 30-minute job deadline while its migration nodes were still passing. Allow the complete indexing, bootstrap, archive and migration sequence to finish, including diagnostics. Keep per-node deadlines and all acceptance assertions unchanged.
happy-v587
force-pushed
the
feat/1985-observability-stack
branch
from
November 3, 2026 18:12
6aa1e1d to
b37639c
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which issue or RFC does this PR close?
Closes #1985.
Implements the optional deployment described in RFC 0046.
Rationale for this change
Operators currently have to assemble collection, storage, dashboards and alert diagnostics themselves. Provide an opt-in reference stack and external-platform connections so they can inspect service health, processing progress and dependencies through correlated metrics, logs and traces.
What changes are included in this PR?
powercontext observability up|status|check|down|connectandserver run --observability, with existing-server, container, split API/background and native personal-service configuration. Profile opt-in rejects signal-specific trace/log exporter overrides from files and process environments so destinations, authentication and timeouts cannot bypass the selected stack.Are there any user-facing changes?
How was this change tested?
make checkpassed, including 61 integration-manifest cases.2f15c8d6, 216 focused CI/runtime/profile cases andmake checkpassed, including 61 integration-manifest cases. The six public log-exporter override regressions and the complete OTLP selection (81 cases, no skips) also passed in the profile repair.server,cli. After declaringpsutilin the Server extra, all five isolated installation roles passed on Python 3.11 and 3.14. OpenDAL passed isolated lint, format, types, CLI and eight tests. macOS arm64 managed-candidate production/consumption passed 56 cases with two Windows-only skips, including repeatable archives, relocation, crypto, independent Ops and a real bundled Server. The built wheel passed four SQLite Desktop protocol modes without the optional Code parser.6aa1e1d3passed 86 checks, including the Python 3.11–3.14 unit/e2e matrix, all four SeekDB shards, isolated installations, worker-observability, native managed candidates, Windows/Linux Desktop validation and 11 upgrade configurations. The macOS Intel application compiled and its tests passed, but DMG detach exhausted the upstream resource-busy retries; the workflow now recognizes that specific failure for bounded recovery and retains hidden-directory build diagnostics. The final OceanBase vector+Code upgrade case was cancelled after the updated head was pushed. Main run 41691599801 atb37639cbpassed seven checks, including Python 3.11 unit/e2e and Python 3.12 unit tests, before the Python 3.12 e2e acceptance rejected the initial prepare-timeout diagnostic and stopped the remaining matrix. The acceptance now exercises that documented fallback explicitly. Current headf71fa2cdis under verification in Main run 41703722055; actual native packaging and full CI success remain pending.sqlite-observability-da44b918-v1retains its exact source, contract and wheel identities, with all 719 packaged runtime files verified against the recorded source. Disposable CI smokes do not replace that qualification.The fresh Docker execution above covers the host demo and storage/correlation path. Full backend-outage fault injection, the split OceanBase topology and external production services were not rerun in this repair. Local reception and fixture checks do not establish those deployment results.
AI usage statement
OpenAI Codex assisted with implementation, conflict resolution, tests, documentation and this PR description. The validation above distinguishes local execution from GitHub Actions results.