docs(audit): ScadaBridge C7 review — correct 'six persisted' computed-col wording (5 persisted + IngestedAtUtc non-persisted) + stale perf iteration comment
This commit is contained in:
+5
-4
@@ -6,7 +6,7 @@ namespace ZB.MOM.WW.ScadaBridge.ConfigurationDatabase.Tests.Migrations;
|
||||
|
||||
/// <summary>
|
||||
/// C7 (Task 2.5) data-projection tests for the <c>CollapseAuditLogToCanonical</c>
|
||||
/// migration. Verifies that the canonical column layout and six persisted computed
|
||||
/// migration. Verifies that the canonical column layout and the five persisted computed
|
||||
/// columns are correct after the migration has been applied:
|
||||
/// <list type="bullet">
|
||||
/// <item><c>Action</c> = "{Channel}.{Kind}" per <see cref="AuditFieldBuilders.BuildAction"/>.</item>
|
||||
@@ -17,9 +17,10 @@ namespace ZB.MOM.WW.ScadaBridge.ConfigurationDatabase.Tests.Migrations;
|
||||
/// else → <c>Success</c>.</item>
|
||||
/// <item>Empty <c>Actor</c> maps to NULL.</item>
|
||||
/// <item><c>DetailsJson</c> produced by <see cref="AuditDetailsCodec.Serialize"/> round-trips
|
||||
/// correctly and the six persisted computed columns (<c>Kind</c>, <c>Status</c>,
|
||||
/// correctly and the five persisted computed columns (<c>Kind</c>, <c>Status</c>,
|
||||
/// <c>SourceSiteId</c>, <c>ExecutionId</c>, <c>ParentExecutionId</c>) resolve to
|
||||
/// the expected values via <c>JSON_VALUE</c>.</item>
|
||||
/// the expected values via <c>JSON_VALUE</c> (<c>IngestedAtUtc</c> is computed but
|
||||
/// non-persisted, so not asserted here).</item>
|
||||
/// </list>
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
@@ -30,7 +31,7 @@ namespace ZB.MOM.WW.ScadaBridge.ConfigurationDatabase.Tests.Migrations;
|
||||
/// seed, apply C5), the tests insert rows directly into the canonical table using
|
||||
/// <see cref="AuditDetailsCodec"/> — the same codec the migration's
|
||||
/// <c>FOR JSON PATH, WITHOUT_ARRAY_WRAPPER</c> projection is designed to match —
|
||||
/// and verify that all six computed columns resolve correctly from <c>DetailsJson</c>.
|
||||
/// and verify that the five persisted computed columns resolve correctly from <c>DetailsJson</c>.
|
||||
/// This validates the computed-column SQL expressions that are the source of truth
|
||||
/// for both the live table and <c>SwitchOutPartitionAsync</c>'s staging table.
|
||||
/// </para>
|
||||
|
||||
@@ -29,8 +29,8 @@ namespace ZB.MOM.WW.ScadaBridge.PerformanceTests.AuditLog;
|
||||
/// <b>C7 re-baseline rationale.</b> The canonical <see cref="ScadaBridgeAuditRedactor"/>
|
||||
/// works on a single <c>DetailsJson</c> bag (one JSON parse + one re-serialize per
|
||||
/// call) whereas the former typed-field approach touched many individual
|
||||
/// fields. Empirical measurements on Apple M-series (2026-06-02, Release build,
|
||||
/// 5 000 iterations after 500 warm-ups):
|
||||
/// fields. Empirical calibration measurements on Apple M-series (2026-06-02, Release build;
|
||||
/// the CI test itself runs MeasureIterations=2 000 after WarmupIterations=200):
|
||||
/// <list type="bullet">
|
||||
/// <item>4 KB body (2 body-regex matches + truncation): p50 ≈ 13 µs, p95 ≈ 14 µs.</item>
|
||||
/// <item>Small DetailsJson, no redactors (JSON parse + rewrite only): p50 ≈ 1.5 µs, p95 ≈ 2 µs.</item>
|
||||
|
||||
Reference in New Issue
Block a user