feat(telemetry): deploy-failure, S&F activity, script-run and DCL-transition instruments (ScadaBridge#81)
Adds four instruments on the already-allow-listed ZB.MOM.WW.ScadaBridge meter:
scadabridge.deployments.failed{reason}, scadabridge.store_and_forward.activity{action,category},
scadabridge.site.script.runs{outcome} + scadabridge.site.script.duration{outcome} (ms),
scadabridge.site.data_connections.transitions{state}. Queue depth, DCL connection state and
deploy-applied already existed. No new Meter, so ZbTelemetryOptions.Meters needs no change.
Claude-Session: https://claude.ai/code/session_01GT67AEHd2Acv1YPwGfXEoV
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using System.Collections.Concurrent;
|
||||
using System.Globalization;
|
||||
using System.Text.Json;
|
||||
using ZB.MOM.WW.ScadaBridge.Commons.Observability;
|
||||
using ZB.MOM.WW.ScadaBridge.SiteEventLogging;
|
||||
|
||||
namespace ZB.MOM.WW.ScadaBridge.SiteRuntime.Scripts;
|
||||
@@ -70,6 +71,7 @@ public sealed class ScriptRunSummaryRecorder
|
||||
{
|
||||
var counters = GetOrAddCounters(instanceName, scriptName);
|
||||
Interlocked.Increment(ref counters.Completed);
|
||||
ScadaBridgeTelemetry.RecordScriptRun("completed", durationMs);
|
||||
RecordDuration(counters, durationMs);
|
||||
}
|
||||
|
||||
@@ -81,6 +83,7 @@ public sealed class ScriptRunSummaryRecorder
|
||||
{
|
||||
var counters = GetOrAddCounters(instanceName, scriptName);
|
||||
Interlocked.Increment(ref counters.Failed);
|
||||
ScadaBridgeTelemetry.RecordScriptRun("failed", durationMs);
|
||||
RecordDuration(counters, durationMs);
|
||||
}
|
||||
|
||||
@@ -95,6 +98,7 @@ public sealed class ScriptRunSummaryRecorder
|
||||
{
|
||||
var counters = GetOrAddCounters(instanceName, scriptName);
|
||||
Interlocked.Increment(ref counters.TimedOut);
|
||||
ScadaBridgeTelemetry.RecordScriptRun("timed_out", durationMs);
|
||||
RecordDuration(counters, durationMs);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user