getEventTimeseries method

Future<Timeseries?> getEventTimeseries({
  1. String? range,
  2. String? start,
  3. String? end,
})

Timeseries returns the caller org's LLM usage over time as an evenly-spaced series.

Timeseries returns the caller org's LLM usage over time as an evenly-spaced series. One point per hour or per day — the bucket the window implies, 24h giving hours and 7d/30d giving days — carrying requests, total tokens and spend in cents. Empty buckets are filled with zeros so a client charts a continuous line. The org is the validated principal's — never a parameter. 403 without a validated bearer, 400 on an unknown range, 503 when the warehouse is unreachable.

Parameters:

  • String range: Range is a relative window: a count and a unit — 24h, 7d, 90d, any

  • String start: Start is the inclusive lower bound of a custom window, RFC3339. Requires end.

  • String end: End is the exclusive upper bound of a custom window, RFC3339. Requires start.

Implementation

Future<Timeseries?> getEventTimeseries({ String? range, String? start, String? end, }) async {
  final response = await getEventTimeseriesWithHttpInfo( range: range, start: start, end: end, );
  if (response.statusCode >= HttpStatus.badRequest) {
    throw ApiException(response.statusCode, await _decodeBodyBytes(response));
  }
  // When a remote server returns no body with a status of 204, we shall not decode it.
  // At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
  // FormatException when trying to decode an empty string.
  if (response.body.isNotEmpty && response.statusCode != HttpStatus.noContent) {
    return await apiClient.deserializeAsync(await _decodeBodyBytes(response), 'Timeseries',) as Timeseries;

  }
  return null;
}