Performance and Observability

Reaktor links runtime health and performance evidence to graph ownership, exact artifacts and runtime instances. Monitoring, profiling and benchmarking are distinct disciplines: metrics reveal a symptom, profiles explain resource use, and controlled workloads establish comparable performance.

This overview belongs to Operations & Reliability. Detailed contracts now live on focused pages; existing product analytics and Reaktor service evidence continue to use ClickHouse.

Source-grounded starting state

Reviewed 1 October 2026 against the current working tree and the 13–14 September infrastructure receipts. This is not a fresh remote health check.

AreaPresentRemaining qualification/integration
Shared observabilityAlloy/Prometheus/Loki/Tempo/Grafana configuration and dated JVM/Worker ingestion readbackComplete client ingestion, cross-runtime context and graph/release attribution
Framework telemetryReal SDK installation, port interception/semantics, plan teardown, bounded export and health countersDurable replay capture, backoff and faithful events/links export
Local workbenchReal SDK spans in a bounded ledgerRemote delivery/read adapters and exact graph/source join
MobileCrashlytics adapters and native DevTools frame/memory/startup probes; legacy debug Measure integration pending removalRelease/symbol qualification, session/trace joins and bounded client evidence per Crashlytics; separate Firebase Performance coverage and pinned-device budgets; deep heap/native-leak attribution
BrowserImplemented web observationsQualify published-vitals semantics; current CLS/INP calculations include approximations
Performance reportsBudgets, normalized reports, required-measurement manifestRelease-owned probes/baselines and wired gates
Profiling/benchmarksOctober FlexBuffer ledger, JMH/Chrome/physical-mobile results, and profiling scriptsActual artifact and comparability evidence per target; codec timings do not measure FFI hops or mutable execution
Shadow analyticsSelected WAE + Pipelines/Iceberg designImplement and qualify paired observations and evidence retrieval

The earlier claim that every OTel host is noop, that no completed port spans export, or that mobile probes are universally absent is obsolete. Infrastructure ingestion also does not prove all application wiring. Implementation references distinguish source and dated deployment evidence.

Operating paths

QuestionCanonical page
Where do runtime signals, comparisons and replay artifacts land?Shared observability
Which graph/source/release produced a measurement?Graph evidence
How large is the app, how many processes/threads exist, and is memory leaking?Instance diagnostics
What explains CPU, waits, allocation, GC or retained/native growth?Profiling
Can the candidate meet realistic demand and recover from faults?Load & resilience
How does a failure become a repeatable regression case?Shadow verification
What should be built and qualified next?Instrumentation Plan, Delivery gates

Evidence and budgets

Retain the full original profile/capture plus a small normalized ReaktorPerformanceReport. A Perfetto-compatible trace is useful where supported; a JFR or Instruments artifact requires explicit conversion and coverage, not an extension change. Profiles are attachment facts with target, time, workload, tool/settings, symbols and perturbation.

The implemented required-measurement manifest distinguishes passed, exceeded, no collector and measurement failed. Release requirements name target/revision, metric, unit and collector. Gates must call the manifest path; a legacy budget checker that skips an absent metric cannot establish a pass.

Keep warmup, cold and steady-state intervals separate. Record repetitions and uncertainty, real dependency/capacity equivalence and generator health. An enum entry, script filename or declared collector is not qualification. The September five-platform harness claims were corrected after script failures; each current target still needs a real capture receipt before a broad parity claim.

Graph, privacy and lifecycle

Metrics need quantitative cardinality limits; stable node/snapshot IDs are not automatically bounded labels. Payload values are off by default, client ingestion is authenticated and server-side secrets stay on the server. Heap/profile/replay artifacts have narrower access and explicit deletion/retention policy.

Instrumentation has scope, bounded duration, cancellation and owned teardown. A graph-selected capture reports dropped/unknown boundaries and excludes its own export path. Instance disposal is a verification concern: repeated attach/detach, reconnect and live update must release listeners, jobs, timers, native handles and buffers.

Supporting documents

Analytics + Telemetry owns event catalogs and runtime conventions; DevTools owns live-device inspection; Tooling owns probes and acquisition; Connected panes owns structural navigation. The pre-rewrite design and reviews remain in Performance design history.

Earlier section anchors remain available here. Their dated source text is in the archive; the reading map above points to the current topic pages.