Reporting

The Reporting module allows superusers to configure multi-page PDF reports generated automatically from OKA dashboard pages. Reports are scoped to a workload, scheduled with a cron expression, and distributed by email after each run. When a loop is configured, OKA generates one PDF per distinct field value (e.g., one report per Project or per User).

Reports are managed from Reporting.

Key concepts

Concept

Description

Report

The main configuration: which pages to capture, which workload to scope, optional schedule, retention policy, and notification recipients.

Page

One OKA dashboard view included in a report. Each page has an order, an optional title override, and optional UI actions to apply before the screenshot is taken.

Loop / Fan-out

Generating one PDF per distinct value of a chosen field (e.g. Project, User). OKA can discover values automatically at run time or use an explicit list.

Global configuration

Default display overrides applied to every page in the report: resolution, datetime column, category, CPU/GPU tab, and grouping. Individual pages can override these defaults.

Run result

A single execution record with status (pending, running, success, failed), timing, and a link to the generated PDF.

Retention

Number of days to keep generated PDF files. OKA deletes expired files automatically each day. Leave blank to keep files indefinitely.

Notification profile

A reusable delivery configuration. See Notification profiles.

Reports

Report list

reporting_list

The report list shows all configured reports with their schedule (cron expression), linked workload, and the status of the most recent run.

Actions available per row:

  • Enable / Disable — pause or resume the cron schedule without deleting it.

  • Edit — open the configuration form.

  • History — view all past run results for this report.

  • Run now — trigger an immediate generation outside the schedule.

  • Delete — permanently remove the report, its pages, and all run records.

Creating or editing a report

The configuration form has four tabs.

General tab

reporting_config_general

  • Name (required) — a unique name for this report across OKA.

  • Description — optional free-text description.

  • Schedule (cron) — when to generate the report automatically. Enter a standard cron expression, for example 0 8 * * 1 to run every Monday at 08:00.

  • Retention (days) — how long generated PDF files are kept. Toggle on “Keep forever” if you do not want them to be automatically deleted.

Scope tab

reporting_config_scope

The Scope tab has three sections:

Workload (required) — determines the set of clusters and filters applied to all pages in the report. Select from existing workloads. See Workloads.

Note

Changing the workload affects all pages in this report immediately. Workloads are shared and mutable — editing a workload impacts every report that references it.

Global configuration — default overrides applied to every page. Individual pages can shadow these values in the Pages tab.

Option

Description

Resolution

Time bucket used for charts and aggregations: 1second, 1minute, 1hour, 1day, 1month.

Datetime column

Which job timestamp to use: Submit, Eligible, Start, End.

Category

Metric shown on cost and load pages: Core_hours, Cost, Power, CO2.

Tab

Default hardware view: CPU or GPU.

Grouping

Grouping type (e.g. User, Project) and bucket size applied to pages that support it.

Loop / Fan-out — toggle Generate one PDF per distinct value to enable fan-out mode.

reporting_config_scope_loop

When enabled:

  • Field — the accounting field whose distinct values drive the fan-out (e.g. Project, User).

  • Auto-discover (default) — OKA queries the workload’s data at run time and generates one PDF per value found (up to 1 000 values).

  • Use manual list — enter a comma-separated list of explicit values. Only those values are used, regardless of what exists in the data.

Note

Loop fan-out generates one run result per value. Each result has its own PDF file and its own status.

Pages tab

reporting_config_pages

Add the OKA dashboard pages that should appear in the generated PDF.

  • Use the Add page catalog to browse available pages by module or search by title. The same page can be added more than once (e.g. with different UI action combinations).

  • Drag rows to reorder pages. The order determines the capture sequence and the page order in the final PDF.

Per-page options:

  • Title override — replaces the default page title in the PDF header.

  • UI actions — a set of browser interactions (clicks and select changes) applied to the page before the screenshot is taken. Available actions depend on the page. Examples: toggle a percentage/absolute-value button, switch the grouping selector to User.

Notifications tab

reporting_config_notifications

  • Notification profiles — select one or more notification profiles to receive the generated PDF by email. All channels in all selected profiles are notified.

Notifications are sent once per run:

  • Non-loop run — one notification with the single PDF attached.

  • Loop run — one notification is sent for each individual values in the loop, each with its own PDF.

To configure profiles and delivery channels, see Notification profiles.

Run history

reporting_history

The run history page for a report shows every past execution with:

  • Started at — when the run began.

  • Statussuccess, failed, running, or pending, colour-coded for quick scanning.

  • Loop value — populated when a loop is configured; identifies which field value this PDF was generated for.

  • Duration — wall-clock time for the generation.

  • PDF — download link for the generated file. The link is available until the file is purged by the retention policy.

Note

Once the retention period expires the PDF file is deleted and the download link disappears. The run record itself is kept indefinitely.