Joseph Doherty
|
fba3d09eed
|
docs(observability): current-state x3 + GAPS + README
Complete the observability normalization component docs:
- components/observability/current-state/otopcua/CURRENT-STATE.md — full
OTel SDK (metrics + tracing) + Prometheus; 7 otopcua.* instruments + 2
spans; Serilog with driver-scope LogContextEnricher; no Resource/service.name
anywhere; tracing pipeline wired but no exporter; adoption plan: AddZbTelemetry
gains shared Resource + trace↔log correlation; LogContextEnricher kept bespoke.
- components/observability/current-state/mxaccessgw/CURRENT-STATE.md — 20
hand-rolled instruments (13 counters, 3 histograms ms-unit, 4 gauges) in
GatewayMetrics.cs; no OTel SDK → metrics never export; MEL logging with
GatewayLogScope correlation and GatewayLogRedactor; adoption plan: in-pass
MEL → AddZbSerilog migration (LogContext correlation, ILogRedactor seam) +
AddZbTelemetry wires OTel SDK so GatewayMetrics finally exports.
- components/observability/current-state/scadabridge/CURRENT-STATE.md —
OpenTelemetry.Api is a CVE-patch override only (zero instrumentation); Serilog
with SiteId/NodeRole/NodeHostname enrichers (strongest set in family); adoption
plan: replace CVE ref with AddZbTelemetry; adopt AddZbSerilog (LoggerConfigurationFactory
deleted); add first scadabridge.* instruments.
- components/observability/GAPS.md — divergence table across §1 Resource (P1,
nobody), §2 metrics export (P1, MxGateway invisible), §3 MxGateway MEL→Serilog
(P1, in-pass done), §4 trace↔log correlation, §5 ms→s unit, §6 Meter naming,
§7 standard instrumentation, §8 Serilog version, §9 ScadaBridge zero
instrumentation; 11-item prioritized backlog.
- components/observability/README.md — overview, per-project status table
(OTel today / metrics / tracing / logging / enrichers / adoption status),
normalized vs. left-per-project boundary, 2-package structure, component status.
|
2026-06-01 07:23:08 -04:00 |
|
Joseph Doherty
|
7d243890ed
|
docs(observability): spec + METRIC-CONVENTIONS + ZB.MOM.WW.Telemetry shared contract
Author the three normalization docs for the observability component:
- components/observability/spec/SPEC.md — Section 0 scope (normalized vs. per-project),
AddZbTelemetry pipeline, shared Resource attribute set, standard instrumentation baseline,
exporter conventions, Serilog two-stage bootstrap with identity enrichers and
TraceContextEnricher, ILogRedactor redaction seam, per-project migration table, and
acceptance criteria.
- components/observability/spec/METRIC-CONVENTIONS.md — meter naming convention (app
namespace; MxGateway.Server flagged as convergence target), instrument naming pattern
(<app>.<subsystem>.<event>), mandatory duration unit = seconds (MxGateway ms histograms
flagged), Resource attribute set table, standard instrumentation baseline, and per-app
instrument tables (OtOpcUa 7 instruments + 2 spans; MxGateway 13 counters / 3 histograms
/ 4 gauges; ScadaBridge TBD).
- components/observability/shared-contract/ZB.MOM.WW.Telemetry.md — paper API for the two
packages: ZbTelemetryOptions, ZbExporter enum, AddZbTelemetry (IHostApplicationBuilder +
IServiceCollection overloads), ZbResource.Build, MapZbMetrics; AddZbSerilog,
ZbLogEnricherNames constants, TraceContextEnricher, ILogRedactor, RedactionEnricher.
Consumer matrix and open contract questions included.
|
2026-06-01 07:19:38 -04:00 |
|