listProfileTimes method

Future<ListProfileTimesResponse> listProfileTimes({
  1. required DateTime endTime,
  2. required AggregationPeriod period,
  3. required String profilingGroupName,
  4. required DateTime startTime,
  5. int? maxResults,
  6. String? nextToken,
  7. OrderBy? orderBy,
})

Lists the start times of the available aggregated profiles of a profiling group for an aggregation period within the specified time range.

May throw InternalServerException. May throw ValidationException. May throw ThrottlingException. May throw ResourceNotFoundException.

Parameter endTime : The end time of the time range from which to list the profiles.

Parameter period : The aggregation period. This specifies the period during which an aggregation profile collects posted agent profiles for a profiling group. There are 3 valid values.

  • P1D — 1 day
  • PT1H — 1 hour
  • PT5M — 5 minutes

Parameter profilingGroupName : The name of the profiling group.

Parameter startTime : The start time of the time range from which to list the profiles.

Parameter maxResults : The maximum number of profile time results returned by ListProfileTimes in paginated output. When this parameter is used, ListProfileTimes only returns maxResults results in a single page with a nextToken response element. The remaining results of the initial request can be seen by sending another ListProfileTimes request with the returned nextToken value.

Parameter nextToken : The nextToken value returned from a previous paginated ListProfileTimes request where maxResults was used and the results exceeded the value of that parameter. Pagination continues from the end of the previous results that returned the nextToken value.

Parameter orderBy : The order (ascending or descending by start time of the profile) to use when listing profiles. Defaults to TIMESTAMP_DESCENDING.

Implementation

Future<ListProfileTimesResponse> listProfileTimes({
  required DateTime endTime,
  required AggregationPeriod period,
  required String profilingGroupName,
  required DateTime startTime,
  int? maxResults,
  String? nextToken,
  OrderBy? orderBy,
}) async {
  ArgumentError.checkNotNull(endTime, 'endTime');
  ArgumentError.checkNotNull(period, 'period');
  ArgumentError.checkNotNull(profilingGroupName, 'profilingGroupName');
  _s.validateStringLength(
    'profilingGroupName',
    profilingGroupName,
    1,
    255,
    isRequired: true,
  );
  ArgumentError.checkNotNull(startTime, 'startTime');
  _s.validateNumRange(
    'maxResults',
    maxResults,
    1,
    1000,
  );
  _s.validateStringLength(
    'nextToken',
    nextToken,
    1,
    64,
  );
  final $query = <String, List<String>>{
    'endTime': [_s.iso8601ToJson(endTime).toString()],
    'period': [period.toValue()],
    'startTime': [_s.iso8601ToJson(startTime).toString()],
    if (maxResults != null) 'maxResults': [maxResults.toString()],
    if (nextToken != null) 'nextToken': [nextToken],
    if (orderBy != null) 'orderBy': [orderBy.toValue()],
  };
  final response = await _protocol.send(
    payload: null,
    method: 'GET',
    requestUri:
        '/profilingGroups/${Uri.encodeComponent(profilingGroupName)}/profileTimes',
    queryParams: $query,
    exceptionFnMap: _exceptionFns,
  );
  return ListProfileTimesResponse.fromJson(response);
}