getMetricData method
Gets historical metric data from the specified Amazon Connect instance.
For a description of each historical metric, see Historical Metrics Definitions in the Amazon Connect Administrator Guide.
May throw InvalidRequestException. May throw InvalidParameterException. May throw InternalServiceException. May throw ThrottlingException. May throw ResourceNotFoundException.
Parameter endTime
:
The timestamp, in UNIX Epoch time format, at which to end the reporting
interval for the retrieval of historical metrics data. The time must be
specified using an interval of 5 minutes, such as 11:00, 11:05, 11:10, and
must be later than the start time timestamp.
The time range between the start and end time must be less than 24 hours.
Parameter filters
:
The queues, up to 100, or channels, to use to filter the metrics returned.
Metric data is retrieved only for the resources associated with the queues
or channels included in the filter. You can include both queue IDs and
queue ARNs in the same request. VOICE, CHAT, and TASK channels are
supported.
Parameter historicalMetrics
:
The metrics to retrieve. Specify the name, unit, and statistic for each
metric. The following historical metrics are available. For a description
of each metric, see Historical
Metrics Definitions in the Amazon Connect Administrator Guide.
- ABANDON_TIME
-
Unit: SECONDS
Statistic: AVG
- AFTER_CONTACT_WORK_TIME
-
Unit: SECONDS
Statistic: AVG
- API_CONTACTS_HANDLED
-
Unit: COUNT
Statistic: SUM
- CALLBACK_CONTACTS_HANDLED
-
Unit: COUNT
Statistic: SUM
- CONTACTS_ABANDONED
-
Unit: COUNT
Statistic: SUM
- CONTACTS_AGENT_HUNG_UP_FIRST
-
Unit: COUNT
Statistic: SUM
- CONTACTS_CONSULTED
-
Unit: COUNT
Statistic: SUM
- CONTACTS_HANDLED
-
Unit: COUNT
Statistic: SUM
- CONTACTS_HANDLED_INCOMING
-
Unit: COUNT
Statistic: SUM
- CONTACTS_HANDLED_OUTBOUND
-
Unit: COUNT
Statistic: SUM
- CONTACTS_HOLD_ABANDONS
-
Unit: COUNT
Statistic: SUM
- CONTACTS_MISSED
-
Unit: COUNT
Statistic: SUM
- CONTACTS_QUEUED
-
Unit: COUNT
Statistic: SUM
- CONTACTS_TRANSFERRED_IN
-
Unit: COUNT
Statistic: SUM
- CONTACTS_TRANSFERRED_IN_FROM_QUEUE
-
Unit: COUNT
Statistic: SUM
- CONTACTS_TRANSFERRED_OUT
-
Unit: COUNT
Statistic: SUM
- CONTACTS_TRANSFERRED_OUT_FROM_QUEUE
-
Unit: COUNT
Statistic: SUM
- HANDLE_TIME
-
Unit: SECONDS
Statistic: AVG
- HOLD_TIME
-
Unit: SECONDS
Statistic: AVG
- INTERACTION_AND_HOLD_TIME
-
Unit: SECONDS
Statistic: AVG
- INTERACTION_TIME
-
Unit: SECONDS
Statistic: AVG
- OCCUPANCY
-
Unit: PERCENT
Statistic: AVG
- QUEUE_ANSWER_TIME
-
Unit: SECONDS
Statistic: AVG
- QUEUED_TIME
-
Unit: SECONDS
Statistic: MAX
- SERVICE_LEVEL
-
Unit: PERCENT
Statistic: AVG
Threshold: Only "Less than" comparisons are supported, with the following service level thresholds: 15, 20, 25, 30, 45, 60, 90, 120, 180, 240, 300, 600
Parameter instanceId
:
The identifier of the Amazon Connect instance.
Parameter startTime
:
The timestamp, in UNIX Epoch time format, at which to start the reporting
interval for the retrieval of historical metrics data. The time must be
specified using a multiple of 5 minutes, such as 10:05, 10:10, 10:15.
The start time cannot be earlier than 24 hours before the time of the request. Historical metrics are available only for 24 hours.
Parameter groupings
:
The grouping applied to the metrics returned. For example, when results
are grouped by queue, the metrics returned are grouped by queue. The
values returned apply to the metrics for each queue rather than aggregated
for all queues.
The only supported grouping is QUEUE
.
If no grouping is specified, a summary of metrics for all queues is returned.
Parameter maxResults
:
The maximimum number of results to return per page.
Parameter nextToken
:
The token for the next set of results. Use the value returned in the
previous response in the next request to retrieve the next set of results.
Implementation
Future<GetMetricDataResponse> getMetricData({
required DateTime endTime,
required Filters filters,
required List<HistoricalMetric> historicalMetrics,
required String instanceId,
required DateTime startTime,
List<Grouping>? groupings,
int? maxResults,
String? nextToken,
}) async {
ArgumentError.checkNotNull(endTime, 'endTime');
ArgumentError.checkNotNull(filters, 'filters');
ArgumentError.checkNotNull(historicalMetrics, 'historicalMetrics');
ArgumentError.checkNotNull(instanceId, 'instanceId');
_s.validateStringLength(
'instanceId',
instanceId,
1,
100,
isRequired: true,
);
ArgumentError.checkNotNull(startTime, 'startTime');
_s.validateNumRange(
'maxResults',
maxResults,
1,
100,
);
final $payload = <String, dynamic>{
'EndTime': unixTimestampToJson(endTime),
'Filters': filters,
'HistoricalMetrics': historicalMetrics,
'StartTime': unixTimestampToJson(startTime),
if (groupings != null)
'Groupings': groupings.map((e) => e.toValue()).toList(),
if (maxResults != null) 'MaxResults': maxResults,
if (nextToken != null) 'NextToken': nextToken,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/metrics/historical/${Uri.encodeComponent(instanceId)}',
exceptionFnMap: _exceptionFns,
);
return GetMetricDataResponse.fromJson(response);
}