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.
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 thedimension_filter_clauses
object which will contain thefilter
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