// PromQL
(
   (abs(max(${blockMetric}{environment="${env}"}) - ${blockMetric}{environment="${env}"}) > bool ${toString lagBlocks})
     -
   (abs(max(${slotMetric}{environment="${env}"}) - on() group_right() ${slotMetric}{environment="${env}"}) < bool ${toString lagSeconds})
) == 1

//PromQL
${kesPeriodsRemaining} <= ${toString periodNotice}


//PromQL
increase(cardano_node_metrics_Forge_forged_int[24h]) == 0

//PromQL
rate(cardano_node_metrics_slotsMissedNum_int[5m]) * 1 > 0.5

//PromQL
avg_over_time(netdata_statsd_cardano_node_ping_latency_ms_gauge_value_average[5m]) > 500


//PromQL
avg(quantile_over_time(0.95, cardano_node_metrics_blockadoption_forgeDelay_real[6h])) >= 4.5


//PromQL
100 * avg(avg_over_time(cardano_node_metrics_blockfetchclient_blocksize[6h]) / 90112) > ${highBlockUtilization}


//PromQL
cardano_node_metrics_blockfetchclient_blockdelay_cdfFive < 0.90


//PromQL
round(increase((time() - cardano_node_metrics_nodeStartTime_int < bool 300)[1h:1m])) > 1


//PromQL
(sum_over_time((cardano_node_metrics_blockNum_int != bool 0)[360m:1m]) < bool 350) > 0 unless cardano_node_metrics_blockNum_int"


//PromQL
100 * quantile by(environment) (0.2, (cardano_node_metrics_density_real * 20)) < ${chainDensityVeryLow}


//PromQL
100 * quantile by(environment) (0.2, (cardano_node_metrics_density_real{environment!~"preview"} * 20)) < ${chainDensityLow}
