Generate SLO Reports

Now that you have defined objectives and generated indicators, you can use the Reliably CLI to view your SLO report. This is done with the reliably slo report command.

Usage

reliably slo report

The reliably slo report command will by default provide results for each objective in your organization. There are two ways to filter the report.

Selector Filter

  • You may filter by using the -l, --selector flag with a selector such as service=example_api,category=latency.
reliably slo report -l service=example_api,category=latency

Manifest Filter

  • Additional filtering can be done with a manifest file and the flag -m. This filters your report to only view the objectives defined in your manifest.
reliably slo report -m reliably.yaml

Output Format

You can select between output formats with the --format or -f flag.

Table Output

Table output is the default format for SLO reports.

reliably slo report --format table
reliably slo report --format table
                                          Current Objective   / Time Window  Type             Trend
  Service #1: http-api
   99% availability over 1 hour         100.00%  99%        /  1h0m0s      Availability     ✓ ✓ ✓ ✓
   99.5% availability over 1 day        100.00%  99.5%      /  1d          Availability     ✓ ✓ ✓ ✓ ✓
   99% of requests under 300ms          77.46%   99%        /  1d          Latency            ✓ ✓
   99.9% of requests under 1s           98.59%   99.9%      /  1d          Latency          ✓ ✓ ✓ ✓

  Service #2: products-api
   99% availability over 1 day          100.00%  99%        /  1d          Availability      ✓ ✓ ✓ ✓ ✓
   99.5% of requests under 200ms        100.00%  99.5%      /  1d          Latency           ✓ ✓ ✓ ✓ ✓

Text Output

The text output will remove the tabs, and use glyphs instead of emojis for your SLO status, and will not display SLO target and delta.

reliably slo report --format text
reliably slo report --format text
Service #1: http-api
 99% availability over 1 hour: 100.00% [objective: 99% / 1h0m0s, delta: 1.00%, type: Availablity]
 99.5% availability over 1 day: 100.00% [objective: 99.5% / 1d, delta: 0.50%, type: Availablity]
 99% of requests under 300ms: 77.46% [objective: 99% / 1d, delta: -21.54%, type: Latency]
 99.9% of requests under 1s: 98.59%  [objective: 99.9% / 1d, delta: -1.31%, type: Latency]

Service #2: products-api
 99% availability over 1 day: 100.00% [objective: 99% / 1d , delta: 1.00%, type: Availablity]
 99.5% of products API requests under 200ms: 100.00% [objective: 99.5% / 1d, delta: 0.50%, type: Latency]

If you want to disable the glyph coloring, you can use the --no-color global flag.

reliably slo report --format text --no-color
reliably slo report --format text --no-color
Service #1: http-api
✓ 99% availability over 1 hour: 100.00% [objective: 99% / 1h0m0s, delta: 1.00%, type: Availablity]
✓ 99.5% availability over 1 day: 100.00% [objective: 99.5% / 1d, delta: 0.50%, type: Availablity]
✕ 99% of requests under 300ms: 77.46% [objective: 99% / 1d, delta: -21.54%, type: Latency]
✕ 99.9% of requests under 1s: 98.59% [objective: 99.9% / 1d, delta: -1.31%, type: Latency]

Service #2: products-api
✓ 99% availability over 1 day: 100.00% [objective: 99% / 1d, delta: 1.00%, type: Availablity]
✓ 99.5% of products API requests under 200ms: 100.00% [objective: 99.5% / 1d, delta: 0.50%, type: Latency]

JSON Output

You can generate a JSON-formatted SLO report for consumption in third-party tools.

reliably slo report --format json

Markdown Output

You can generate a markdown-formatted SLO report.

reliably slo report --format markdown
Tip

You can use a tool like Pandoc to convert the output generated from Reliably into many other formats such as HTML and PDF. To pipe the markdown output to pandoc:

  $ reliably slo report --format markdown | pandoc

The command above will by default generate HTML output.

Report Templates

You can use templates to generate an SLO report. This allows you to build reports using your own format based on templates.

reliably slo report -t /path/to/template.tmpl

You can combine this with the '-o' option to write the output to a file:

reliably slo report -t /path/to/template.tmpl -o /path/to/report.txt

The How it Works Guide on SLO Report Templates fully explains how to create your own templates for Reliably

Reference

Read the Reliably CLI SLO Reports command reference for a complete list of options.