getTimeseries method

Future<List<TsKvEntry>> getTimeseries(
  1. EntityId entityId,
  2. List<String> keys, {
  3. int? interval,
  4. Aggregation? agg,
  5. Direction? sortOrder,
  6. int? startTime,
  7. int? endTime,
  8. int? limit,
  9. bool useStrictDataTypes = true,
  10. RequestConfig? requestConfig,
})

Implementation

Future<List<TsKvEntry>> getTimeseries(EntityId entityId, List<String> keys,
    {int? interval,
    Aggregation? agg,
    Direction? sortOrder,
    int? startTime,
    int? endTime,
    int? limit,
    bool useStrictDataTypes = true,
    RequestConfig? requestConfig}) async {
  var queryParameters = <String, dynamic>{
    'keys': keys.join(','),
    'interval': interval == null ? '0' : interval.toString(),
    'agg': agg == null ? 'NONE' : agg.toShortString(),
    'limit': limit != null ? limit.toString() : '100',
    'orderBy': sortOrder != null ? sortOrder.toShortString() : 'DESC',
    'useStrictDataTypes': useStrictDataTypes
  };

  if (startTime != null) {
    queryParameters['startTs'] = startTime.toString();
  }

  if (endTime != null) {
    queryParameters['endTs'] = endTime.toString();
  }

  var response = await _tbClient.get<Map<String, dynamic>>(
      '/api/plugins/telemetry/${entityId.entityType.toShortString()}/${entityId.id}/values/timeseries',
      queryParameters: queryParameters,
      options: defaultHttpOptionsFromConfig(requestConfig));
  return RestJsonConverter.toTimeseries(response.data);
}