worker(alarms): synthetic GUID + degraded/source_provider on emitted transitions

This commit is contained in:
Joseph Doherty
2026-06-13 09:14:23 -04:00
parent 60d35a914f
commit 57d5a8725f
6 changed files with 142 additions and 3 deletions
@@ -124,6 +124,15 @@ public sealed class MxAccessEventMapper
/// <param name="category">Alarm taxonomy bucket from the Galaxy template.</param>
/// <param name="description">Human-readable alarm description.</param>
/// <param name="statuses">Array of MxStatusProxy values from MXAccess.</param>
/// <param name="degraded">
/// <see langword="true"/> when this transition was synthesized by the
/// subtag-provider fallback rather than the native alarmmgr path.
/// Defaults to <see langword="false"/> to preserve alarmmgr parity.
/// </param>
/// <param name="sourceProvider">
/// The alarm provider that sourced this transition. Defaults to
/// <see cref="AlarmProviderMode.Alarmmgr"/> for the native path.
/// </param>
public MxEvent CreateOnAlarmTransition(
string sessionId,
string alarmFullReference,
@@ -137,7 +146,9 @@ public sealed class MxAccessEventMapper
string operatorComment,
string category,
string description,
Array? statuses)
Array? statuses,
bool degraded = false,
AlarmProviderMode sourceProvider = AlarmProviderMode.Alarmmgr)
{
MxEvent mxEvent = CreateBaseEvent(
MxEventFamily.OnAlarmTransition,
@@ -159,6 +170,8 @@ public sealed class MxAccessEventMapper
OperatorComment = operatorComment ?? string.Empty,
Category = category ?? string.Empty,
Description = description ?? string.Empty,
Degraded = degraded,
SourceProvider = sourceProvider,
};
if (originalRaiseTimestampUtc is { } orts)
{