SLA & Error Budgets

Understand how Signalog calculates uptime, tracks SLA targets, and monitors error budget consumption to keep your team on track.

What is an SLA target?

A Service Level Agreement (SLA) target is a commitment to a specific uptime percentage over a defined period. Common SLA targets and their allowed downtime:

SLA TargetDowntime / monthDowntime / year
99%7h 18m3d 15h 36m
99.5%3h 39m1d 19h 48m
99.9%43m 12s8h 45m 36s
99.95%21m 36s4h 22m 48s
99.99%4m 19s52m 36s

The difference between 99.9% and 99.99% looks small as a percentage, but it’s the difference between 43 minutes and 4 minutes of allowed downtime per month.

Setting an SLA target

Configure SLA targets per monitor under Monitor Settings > SLA:

  1. Enter your target percentage (e.g., 99.9).
  2. Select the reporting period — monthly or quarterly.
  3. Optionally enable breach alerts to get notified when your error budget is running low.

How uptime is calculated

Signalog calculates uptime using a simple, transparent formula:

uptime_percent = (successful_checks / total_checks) × 100

A check is counted as successful if it passes all configured validations (status code, keyword, timeout, contract). A check is failed if any validation fails or the request times out.

This calculation is based on actual check data, not estimated availability. If your monitor runs every 60 seconds and you have 30 days in the month, that’s approximately 43,200 checks. Each failed check reduces your uptime by roughly 0.002%.

Exclusions

Planned maintenance windows can be excluded from SLA calculations. When you create a maintenance window in the status page settings, checks during that period are excluded from both the total and failed counts.

Error budgets

An error budget is the inverse of your SLA target — it’s how much downtime you’re allowed before breaching your SLA.

error_budget = (1 - SLA_target / 100) × period_duration
budget_remaining = error_budget - actual_downtime

For a 99.9% monthly SLA:

  • Error budget: 0.1% of ~43,200 minutes = 43.2 minutes
  • If you’ve had 15 minutes of downtime so far this month, you have 28.2 minutes remaining.
  • Budget consumed: 34.7%

Budget consumption tracking

Signalog tracks error budget consumption in real-time on the monitor detail page:

  • Budget remaining — Time (in minutes) of allowed downtime left.
  • Budget consumed — Percentage of the error budget used so far.
  • Burn rate — How fast you’re consuming budget relative to the period. A burn rate of 1.0 means you’re consuming budget at exactly the expected pace. A burn rate above 1.0 means you’re on track to breach.

Breach detection

When your error budget is running low, Signalog can alert you before a breach occurs. Configure thresholds under the SLA settings:

  • Warning at 75% consumed — You’ve used most of your budget. Avoid risky deploys.
  • Critical at 90% consumed — Very little budget remains. Prioritize stability.
  • Breached at 100% — The SLA has been missed for the current period.

Breach notifications are sent through your configured alert channels.

SLA reports

Generate SLA reports for any period via the dashboard or API:

curl https://api.signalog.dev/v1/monitors/{monitor_id}/sla \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -G -d "period=monthly" -d "month=2025-01"

The response includes uptime percentage, total checks, failed checks, downtime minutes, error budget status, and a breakdown of incidents that contributed to downtime.

Next steps