Datasets Monitor (Reference) provides real-time visibility into server-side database operations for Tables and Queries during runtime. The Datasets Monitor displays:
Access via Datasets → Monitor when connected to runtime.
Property | Description | Runtime Access |
---|---|---|
Name | Table or Query identifier | @Dataset.Table.<Name> |
SourceID | Original configuration ID | @Dataset.Table.<Name>.SourceID |
RowCount | Total rows returned | @Dataset.Table.<Name>.RowCount |
Disable | Object disabled state | @Dataset.Table.<Name>.Disable |
LastStatus | Operation result (0=success) | @Dataset.Table.<Name>.LastStatus |
LastStatusMessage | Error description | @Dataset.Table.<Name>.LastStatusMessage |
Access monitor properties in displays or scripts:
csharp
// Get table status
int rows = @Dataset.Table.ProductionTable.RowCount;
int status = @Dataset.Table.ProductionTable.LastStatus;
string error = @Dataset.Table.ProductionTable.LastStatusMessage;
// Check for errors
if (@Dataset.Table.ProductionTable.LastStatus != 0)
{
// Handle error condition
LogError(@Dataset.Table.ProductionTable.LastStatusMessage);
}
csharp
// Monitor query execution
int queryRows = @Dataset.Query.MyQuery.RowCount;
bool isDisabled = @Dataset.Query.MyQuery.Disable;
// Validate results
if (@Dataset.Query.MyQuery.LastStatus == 0 && queryRows > 0)
{
// Process successful query
}
For client operations, use runtime attributes directly:
csharp
// Check all tables health
bool allHealthy = true;
if (@Dataset.Table.Table1.LastStatus != 0 ||
@Dataset.Table.Table2.LastStatus != 0)
{
allHealthy = false;
// Alert operator
}
csharp
// Monitor row counts
if (@Dataset.Table.LargeTable.RowCount > 10000)
{
// Consider pagination
}
csharp
// Log all errors
public void LogDatasetErrors()
{
if (@Dataset.Table.MyTable.LastStatus != 0)
{
string error = string.Format(
"Table {0} Error: {1}",
"MyTable",
@Dataset.Table.MyTable.LastStatusMessage
);
WriteToLog(error);
}
}
No data in monitor:
High error counts:
Performance issues: