API Analytics - Time Series Reports

Time Series analysis allows you to view aggregate trends for your API traffic over a time period. All the regular search filters filters are also present in time series, so you can filter traffic for a specific route such as GET /items, or even from a specific User Agent such as only request from Python clients.

In the below example, we are showing usage on a daily basis grouped by URI roite.

API Time Series Metrics


All the filters that usually work on Live API Log also work in time series. This enables you to filter by specific properties such as a certain User Id or only a particular route of interest.

Group By

Time series analysis also supports group by to pivot your time series around a specific property such as Response Status or Company Domain as we saw above.

In the above chart, we selected to segment on Response Status so we can see a break down of how various errors trend over time. You can segment on any property that non time-series segmentation supports including any custom HTTP headers and metadata.

If the chart gets cluttered when plotting many time series, you can select the key name in legend underneath chart to toggle hiding/showing a time series.

Metric to plot

By default, time series will show event count per time window, if you want to derive additional metrics such as plotting the average latency, you can click the button + Metric to Plot.

To plot average latency, we would select the property to select such as Elapsed Time (ms) and then pick the operator avg

You can plot additional metrics on the same chart by clicking the button + Metric to Plot again.

So we can plot both avg and max duration via the following:

API Time Series Picking Metrics

Fields that are numeric type such as Elapsed Time supports average, sum, min, max, distinct, percentiles Fields that are string types such as HTTP headers supports distinct.

Exporting data

At the very bottom, you can select Export to download a CSV of your time series if you need to create custom charts or want to play with the data more.

How are intervals calculated

Moesif will align the intervals to the top and bottom of the interval. So if you select and interval of Daily, then each metric equals the time from 12:00 AM to 11:59pm per day in your chosen timezone.

By default, the browser time is used as the timezone, but you can change your global time zone by going to Apps and Team settings.

Because Moesif always aligns to the calendar interval, the very last one may not be fully complete. For example if the current time is 5:55pm and you select an interval of Daily, then the last interval will only contain partial data from 12:00 AM to 5:55pm.