Skip to content

This feature is currently in Preview.

Available Metrics

The RAI Native App exposes observability views across two schemas, each with different stability expectations:

SchemaPurpose and Expectations
<rai_app_database>.OBSERVABILITYStable views intended for production use. These views follow strict schema contracts. Columns will not be removed or renamed without advance notice.
<rai_app_database>.OBSERVABILITY_PREVIEWExperimental views for new or evolving metrics. These views may change at any time without notice. Columns can be added, removed, renamed, or have their semantics altered.

To discover all available views in each schema:

-- Stable views
SHOW VIEWS IN SCHEMA RELATIONALAI.OBSERVABILITY;
-- Preview views
SHOW VIEWS IN SCHEMA RELATIONALAI.OBSERVABILITY_PREVIEW;

The following sections describe the currently available preview views for the Logic Reasoner Utilization.

Reports the memory utilization for each reasoner instance.

SELECT * FROM relationalai.observability_preview.logic_reasoner__memory_utilization
WHERE timestamp >= DATEADD(hour, -24, CURRENT_TIMESTAMP());
ColumnTypeDescription
TIMESTAMPTIMESTAMP_NTZWhen the measurement was taken (UTC)
REASONER_IDVARCHARUnique reasoner identifier
REASONER_NAMEVARCHARName of the reasoner
MEMORY_UTILIZATIONFLOATMemory utilization as a ratio (0.0–1.0)
ATTRIBUTESOBJECTAdditional reasoner attributes

Reports the CPU utilization for each reasoner instance.

SELECT * FROM relationalai.observability_preview.logic_reasoner__cpu_utilization
WHERE timestamp >= DATEADD(hour, -24, CURRENT_TIMESTAMP());
ColumnTypeDescription
TIMESTAMPTIMESTAMP_NTZWhen the measurement was taken (UTC)
REASONER_IDVARCHARUnique reasoner identifier
REASONER_NAMEVARCHARName of the reasoner
CPU_UTILIZATIONFLOATCPU utilization as a ratio (0.0–1.0)
ATTRIBUTESOBJECTAdditional reasoner attributes

Reports the job demand for each reasoner instance.

SELECT * FROM relationalai.observability_preview.logic_reasoner__demand
WHERE timestamp >= DATEADD(hour, -24, CURRENT_TIMESTAMP());
ColumnTypeDescription
TIMESTAMPTIMESTAMP_NTZWhen the measurement was taken (UTC)
REASONER_IDVARCHARUnique reasoner identifier
REASONER_NAMEVARCHARName of the reasoner
DEMANDFLOATJob demand as a ratio (0.0+); values above 1.0 indicate queuing
REASONER_CAPACITYVARCHARCapacity tier of the reasoner
ATTRIBUTESOBJECTAdditional reasoner attributes

Utilization can be somewhat spiky, so focus on the pattern across your workload runs rather than individual data points. The key question is: does almost every run of your workload exceed the threshold?

ObservationThresholdActionReasoning
High memory utilization runsMEMORY_UTILIZATION > 0.8 on most workload runsConsider upgrading to a larger reasonerConsistently high memory usage limits performance; a larger reasoner provides more headroom
High CPU utilizationCPU_UTILIZATION consistently > 0.95Consider upgrading to a larger reasonerCPU-bound workload; a larger reasoner improves performance
Sustained high CPU utilizationCPU_UTILIZATION consistently 0.85–0.95Plan to resize before next traffic spikeLimited headroom for growth or traffic bursts
No demandDEMAND = 0 for extended periodsConsider shutting down or reducing auto_suspend thresholdRunning unused capacity
QueuingDEMAND consistently > 1.0Review job volume; if higher concurrency is needed, consider sending different jobs to different reasonersMore jobs than available slots in the queue. Evaluate why job volume is high.
ObservationThresholdsActionReasoning
UnderutilizationCPU_UTILIZATION < 0.30 AND MEMORY_UTILIZATION never exceeds 0.30 across workload runsConsider downgrading to a smaller reasonerYou are paying for capacity you are not using; a smaller reasoner may be more cost-effective
Reaching hard limitsCPU_UTILIZATION = 1.0 AND MEMORY_UTILIZATION = 1.0 AND DEMAND > 1.0Upgrade to a larger reasoner immediatelyReasoner is approaching hard limits across all dimensions