This page describes Calíope 1.5, the version I am building right now. 1.4 is on the App Store for the Mac, iPad, iPhone, Apple Watch, Apple TV and Apple Vision Pro. The changelog says which version each feature landed in.

Adds an “Open in Calíope” button to every topic. It only works with the app installed.

SQL Alerts

SQL alerts

Watches the value returned by a query of yours and flags ALERT when it crosses the threshold you define.

Where it is: Workspace › Tools › SQL Alerts

Open SQL Alerts from the workspace navigation bar. The table lists every configured rule with its current value and an ALERT / OK indicator. A rule whose query fails says Error —open it in Configure to read what the server answered—, one whose query returns no rows says No value, and one not measured yet shows a dash: none of them counts as OK.

Each rule is a query of yours: Calíope runs it at the defined interval, takes the value of the column you named and compares it against the threshold with the chosen operator (>, <, =, <>). There are no predefined metrics — you decide what to watch with SQL.

Refresh evaluates every rule once.

Auto-refresh: press the play button and enter the interval in seconds so rules re-evaluate on their own. When a rule meets its condition its row is flagged ALERT and the view footer counts how many are active. Re-evaluation stops when you press pause or leave the tool.

Load example adds a ready-made rule so you start from something that works.

MySQLMariaDBAuroraPostgreSQL

There is one: active connections above 100.

SQL Server

There are five, and each press adds the next one you don't have yet: blocked sessions, user sessions above 80 % of the maximum, transactions open over a minute, the database's transaction log above 80 %, and seconds spent waiting on locks since the server started. When you have all five, the button turns off.

Export saves the table —rules, values and status— as a tab-separated (TSV) file.

This tool sends no system notifications: the warning is the flagged row while the tab is open. For warnings that do reach the system, see the Server alerts and Replication monitor topics.

Keywords: SQL alerts, alert, threshold, rule, metric, watch, auto-refresh, interval, polling, monitor

Configure alert rules

Define which query is watched and the condition that raises the alert.

Where it is: SQL Alerts › Configure

Press Configure in the tool bar. In the sheet, press Add to add a rule and fill in:

- Name — how you will recognise it in the table.
- SQL — the query returning the value to watch. It should return a single row: the first one is read.
- Column — the result column holding the value. If the name matches none, the first column is used.
- Operator and Threshold — the condition that triggers the alert.

MySQLMariaDBAurora

For example: SQL = SHOW STATUS WHERE Variable_name = 'Threads_connected', column = Value, operator = >, threshold = 100.

PostgreSQL

For example: SQL = SELECT COUNT(*) AS "Value" FROM pg_stat_activity WHERE pid <> pg_backend_pid(), column = Value, operator = >, threshold = 100.

SQL Server

For example: SQL = SELECT COUNT(*) AS Value FROM sys.dm_exec_requests WHERE blocking_session_id <> 0, column = Value, operator = >, threshold = 0.

If the value is not numeric, the comparison is done as text and only = and <> make sense.

To change a rule, select it in the list, edit it and press Save; Delete, or the bin next to it, removes it. Done stores the rules and evaluates them again.

Rules are stored on this computer, apply to every open session and sync to your other devices if you have iCloud sync enabled.

Keywords: configure alert, rule, SQL, column, operator, threshold, threads_connected