Repository navigation
feat(observability): trace workers and expose processing health - #2025
AlexStocks merged 14 commits into
Conversation
Implement oceanbase#1982 and oceanbase#1983 with spawned-worker trace propagation, dependency readiness, processing freshness metrics, and authenticated background metrics serving.
|
Addressed both review threads in 7263394:
Both threads are resolved. @AlexStocks @hireview001 could you take another look? |
|
The only remaining red check is |
|
Addressed the new review threads in 74085fa:
Both threads are resolved. @hireview001 could you take another look? |
|
The only red check is |
|
@AlexStocks 请基于最新 head 当前 CI 为 38 项成功、1 项既有条件跳过,无失败或待完成项。 验证:Main · E2E harness。 |
…nd trace Topic dream dispatch - readiness_state now follows the same merged aggregate as /health/ready, including access and authentication providers, and dependency_state exposes bounded access and supervisor checks - set_processing_families evaluates the supervisor inside the protected path so a failing family_status keeps /metrics at 200 and increments metrics_collection_failures_total - the Topic Memory dream dispatch now receives worker instrumentation and tracing like the Memory family worker
Which issue or RFC does this PR close?
Closes #1982.
Closes #1983.
Rationale for this change
Supervisor wait spans cannot explain latency inside spawned workers, and a separately deployed background service needs its own protected metrics endpoint. This change adds child execution evidence and process-local health/progress observations while keeping durable acknowledgement distinct from child return.
What changes are included in this PR?
blockedclassification in child execution spans. A real-spawn/local-OTLP regression verifies matching parent/child categories, non-error span status and an unacknowledged durable intent.Are there any user-facing changes?
backgroundrole serves/health/liveand/metricsatHTTP_HOST:POWERCONTEXT_SERVER_METRICS_BACKGROUND_PORT(default8001). It uses the existing authentication,server.observeauthorization and non-loopback bind policy. SetMETRICS_ENABLED=falseto disable this listener.tracing-otlp. No HTTP payload or persisted-format changes are introduced.How was this change tested?
python -m pytest tests/e2e/test_worker_otlp.py tests/e2e/test_worker_logging.py tests/test_server_tracing.py tests/test_observability_health.py tests/builtin/runtime/test_processing_composition.py tests/builtin/runtime/test_family_processing.py tests/builtin/runtime/test_model_usage_recorder.py tests/e2e/test_builtin_runtime.py::test_working_note_capture_does_not_promote_into_memory tests/e2e/test_runtime_server.py::test_working_note_http_and_sdk_capture_stays_out_of_memory tests/test_dream_review_transport.py::test_capabilities_remain_decodable_by_legacy_clients -q— 135 passed. Executed with the project Python environment from/tmp, using absolute test paths to avoid local environment-file discovery.python -m pytest tests/e2e/test_dream_usage.py -q— 6 passed.make check— passed, including lint/format checks, type checks, lock consistency and 50 integration-manifest tests.internalinstead ofblocked) and passes with the fix using a real spawned process and local protobuf OTLP/HTTP receiver. It verifies that the blocked intent remains unacknowledged.AI usage statement
Codex (GPT-6) assisted code review, the worker-block classification fix, regression testing, merge conflict resolution and PR preparation.