Portal Community

Signal to Panel Mapping

Backend SignalTransportObserver Panel Location
INodeLogger entriesSignalR NodeLogEmittedLogs tab — live stream
Node status changeSignalR NodeStatusChangedNodes tab + canvas overlay
executionDurationMsIncluded in NodeStatusChangedNodes tab duration column + Inspector
OTel TraceIdIncluded in log entriesInspector tab — "View Trace" link
Custom metricsPrometheus (not SignalR)External Grafana — NOT in Observer Panel

Logs Tab

Every INodeLogger entry is streamed via NodeLogEmitted and appended to executionStore.logs. The Logs tab renders them in a virtual-scrolling list. Filters: by log level, by nodeId, by text search.

Inspector Tab

Clicking a node in execution mode fetches NodeInspectorData from the API. The Inspector tab shows:

View Trace Link

// Inspector tab — generates the Tempo deep-link
function ViewTraceButton({ traceId }: { traceId: string }) {
    const tempoUrl = `${TEMPO_BASE_URL}/explore?traceId=${traceId}`;

    return (
        <a href={tempoUrl} target="_blank" rel="noopener">
            <i className="fa-solid fa-diagram-project" />
            View Trace in BizFirst Observe
        </a>
    );
}
Custom metrics do not appear in the Observer Panel. Metrics emitted via ctx.Observability.Metrics go to Prometheus and are visualized in Grafana. The Observer Panel is for real-time execution observability — logs, statuses, and individual node data. Use BizFirst Observe (Grafana) for metric dashboards and alerting.