Runtime Atlas keeps a narrow, deliberate public surface. The one integration point meant for your own code is IAlertSource, which lets your own runtime systems feed conditions into the Alerts tab.
Namespace: RuntimeAtlas.Editor
public interface IAlertSource
{
string AlertSourceId { get; }
void EvaluateAlerts(AlertSystem alertSystem, double timestamp);
}| Member | Description |
|---|---|
AlertSourceId |
A stable identifier for this source, shown as the alert's source name in the Alerts tab. |
EvaluateAlerts(AlertSystem, double) |
Called once per evaluation pass. Inspect your own runtime state here and call AlertSystem.AddAlert(...) for anything worth surfacing. timestamp is the evaluation time in seconds. |
Namespace: RuntimeAtlas.Editor
The type your IAlertSource implementation reports into.
public void AddAlert(string message, AlertSeverity severity, string sourceName, double timestamp);
public void AddAlert(string message, AlertSeverity severity, string sourceName,
double timestamp, string groupKey, double minIntervalSeconds);The four-argument overload calls the six-argument one with groupKey = null and minIntervalSeconds = 0. Alerts are grouped by message, severity, source, and groupKey together — a repeat within the same group updates the existing entry's timestamp and increments OccurrenceCount instead of adding a new row. Pass a minIntervalSeconds above zero to suppress updates to an existing entry until that much time has passed, useful for a noisy condition you only want to re-surface periodically rather than on every evaluation pass.
Namespace: RuntimeAtlas
public enum AlertSeverity
{
Info = 0,
Warning = 1,
Critical = 2
}Whether Info-level alerts are shown at all, and how many alerts are retained before the oldest are discarded, are both configurable — see Configuration.
Namespace: RuntimeAtlas
The struct backing each row in the Alerts tab. You don't construct this directly — AlertSystem.AddAlert builds it for you — but its fields are what a source's alert ultimately becomes once it's in the log: Message, Severity, SourceName, Timestamp, GroupKey, OccurrenceCount, Dismissed.
Everything else in the product — the window, tab panels, inspectors, scanner, and report generator — is implementation detail, not a surface meant for external code to call into or extend. Source is included with the package (see FAQ), but IAlertSource and the types above are the only pieces meant to be built against from your own scripts — the rest is available to read, but changes to it aren't a supported integration path.