Skip to main content

Working with reports

The Alef Reporting API is designed to give a similar experience as the mainstream metrics APIs. It uses a syntax that is similar to Prometheus and is broadly used in the industry. We will continue to expand the metrics and reports that can be retrieved via this API.

info

All APIs require the user to be authenticated with their username/password. The JWT token needs to be added to the header as Bearer of each call.

When creating a report you will:

  • Define the time window.
  • Specify granularity, which is the time interval between data points.
  • Define your filters with the dimensions object, and the dimension_filter_clauses object which will contain the filter objects.
  • Request metrics such as connections, time usage, and data usage with the metrics object.
  • Use aggregation_type to choose which data within the raw report data you want to see.

Authentication

All Reporting APIs use a JWT bearer token for authorization. Follow the instructions in the API Guide

Time windows

Some of the reports below require you to specify the time window over which to run the report.

The time window is set with start_date_time and end_date_time. You can either specify actual times and dates, in the format YYYY-MM-DDTHH:mm:ss, or request a set time block with LAST HOUR, LAST DAY, LAST WEEK, LAST MONTH or NOW (returns the last 5 minutes).

If you are requesting a set time block, this must be configured in both start_date_time and end_date_time, for example:

"start_date_time": "LAST HOUR",
"end_date_time": "LAST HOUR",

You can also specify the data point frequency in your report with the granularity parameter, which can be HOUR or DAY (default is HOUR).

Dimensions and metrics

As mentioned above, you will request a report metric, and filter it with dimensions. Our reports are grouped into mobile device or 'UE' reports, and Edge Point reports. Refer to the Mobile Device (UE) Reports and Edge Point Reports sections for more details.

Aggregation types

A report will gather many data points, and you decide which specific data you are interested in by defining the aggregation_type. This may be a single data point, such as MAX or MIN, or a calculation derived from multiple data points, such as AVG.

Supported aggregation types are:

  • EXISTS (for status reports)
  • COUNT (sum of data points)
  • MAX
  • MIN
  • AVG

Different metrics support different aggregation_types:

ue_session_count:

  • COUNT

ue_online_status, ue_count, ap_count:

  • COUNT
  • EXISTS

ue_status, ap_status:

  • COUNT
  • EXISTS
  • AVG

ue_connections:

  • COUNT
  • MAX
  • AVG

All other metrics:

  • COUNT
  • MAX
  • MIN
  • AVG