Connect / Client / get_metric_data

get_metric_data#

Connect.Client.get_metric_data(**kwargs)#

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.

Note

We recommend using the GetMetricDataV2 API. It provides more flexibility, features, and the ability to query longer time ranges than GetMetricData. Use it to retrieve historical agent and contact metrics for the last 3 months, at varying intervals. You can also use it to build custom dashboards to measure historical queue and agent performance. For example, you can track the number of incoming contacts for the last 7 days, with data split by day, to see how contact volume changed per day of the week.

See also: AWS API Documentation

Request Syntax

response = client.get_metric_data(
    InstanceId='string',
    StartTime=datetime(2015, 1, 1),
    EndTime=datetime(2015, 1, 1),
    Filters={
        'Queues': [
            'string',
        ],
        'Channels': [
            'VOICE'|'CHAT'|'TASK',
        ],
        'RoutingProfiles': [
            'string',
        ],
        'RoutingStepExpressions': [
            'string',
        ]
    },
    Groupings=[
        'QUEUE'|'CHANNEL'|'ROUTING_PROFILE'|'ROUTING_STEP_EXPRESSION',
    ],
    HistoricalMetrics=[
        {
            'Name': 'CONTACTS_QUEUED'|'CONTACTS_HANDLED'|'CONTACTS_ABANDONED'|'CONTACTS_CONSULTED'|'CONTACTS_AGENT_HUNG_UP_FIRST'|'CONTACTS_HANDLED_INCOMING'|'CONTACTS_HANDLED_OUTBOUND'|'CONTACTS_HOLD_ABANDONS'|'CONTACTS_TRANSFERRED_IN'|'CONTACTS_TRANSFERRED_OUT'|'CONTACTS_TRANSFERRED_IN_FROM_QUEUE'|'CONTACTS_TRANSFERRED_OUT_FROM_QUEUE'|'CONTACTS_MISSED'|'CALLBACK_CONTACTS_HANDLED'|'API_CONTACTS_HANDLED'|'OCCUPANCY'|'HANDLE_TIME'|'AFTER_CONTACT_WORK_TIME'|'QUEUED_TIME'|'ABANDON_TIME'|'QUEUE_ANSWER_TIME'|'HOLD_TIME'|'INTERACTION_TIME'|'INTERACTION_AND_HOLD_TIME'|'SERVICE_LEVEL',
            'Threshold': {
                'Comparison': 'LT',
                'ThresholdValue': 123.0
            },
            'Statistic': 'SUM'|'MAX'|'AVG',
            'Unit': 'SECONDS'|'COUNT'|'PERCENT'
        },
    ],
    NextToken='string',
    MaxResults=123
)
Parameters:
  • InstanceId (string) –

    [REQUIRED]

    The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

  • StartTime (datetime) –

    [REQUIRED]

    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.

  • EndTime (datetime) –

    [REQUIRED]

    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.

  • Filters (dict) –

    [REQUIRED]

    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.

    RoutingStepExpression is not a valid filter for GetMetricData and we recommend switching to GetMetricDataV2 for more up-to-date features.

    Note

    To filter by Queues, enter the queue ID/ARN, not the name of the queue.

    • Queues (list) –

      The queues to use to filter the metrics. You should specify at least one queue, and can specify up to 100 queues per request. The GetCurrentMetricsData API in particular requires a queue when you include a Filter in your request.

      • (string) –

    • Channels (list) –

      The channel to use to filter the metrics.

      • (string) –

    • RoutingProfiles (list) –

      A list of up to 100 routing profile IDs or ARNs.

      • (string) –

    • RoutingStepExpressions (list) –

      A list of expressions as a filter, in which an expression is an object of a step in a routing criteria.

      • (string) –

  • Groupings (list) –

    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.

    If no grouping is specified, a summary of metrics for all queues is returned.

    RoutingStepExpression is not a valid filter for GetMetricData and we recommend switching to GetMetricDataV2 for more up-to-date features.

    • (string) –

  • HistoricalMetrics (list) –

    [REQUIRED]

    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.

    Note

    This API does not support a contacts incoming metric (there’s no CONTACTS_INCOMING metric missing from the documented list).

    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

    You can include up to 20 SERVICE_LEVEL metrics in a request.

    Unit: PERCENT

    Statistic: AVG

    Threshold: For ThresholdValue, enter any whole number from 1 to 604800 (inclusive), in seconds. For Comparison, you must enter LT (for “Less than”).

    • (dict) –

      Contains information about a historical metric. For a description of each metric, see Historical Metrics Definitions in the Amazon Connect Administrator Guide.

      • Name (string) –

        The name of the metric.

      • Threshold (dict) –

        The threshold for the metric, used with service level metrics.

        • Comparison (string) –

          The type of comparison. Only “less than” (LT) comparisons are supported.

        • ThresholdValue (float) –

          The threshold value to compare.

      • Statistic (string) –

        The statistic for the metric.

      • Unit (string) –

        The unit for the metric.

  • NextToken (string) – 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.

  • MaxResults (integer) – The maximum number of results to return per page.

Return type:

dict

Returns:

Response Syntax

{
    'NextToken': 'string',
    'MetricResults': [
        {
            'Dimensions': {
                'Queue': {
                    'Id': 'string',
                    'Arn': 'string'
                },
                'Channel': 'VOICE'|'CHAT'|'TASK',
                'RoutingProfile': {
                    'Id': 'string',
                    'Arn': 'string'
                },
                'RoutingStepExpression': 'string'
            },
            'Collections': [
                {
                    'Metric': {
                        'Name': 'CONTACTS_QUEUED'|'CONTACTS_HANDLED'|'CONTACTS_ABANDONED'|'CONTACTS_CONSULTED'|'CONTACTS_AGENT_HUNG_UP_FIRST'|'CONTACTS_HANDLED_INCOMING'|'CONTACTS_HANDLED_OUTBOUND'|'CONTACTS_HOLD_ABANDONS'|'CONTACTS_TRANSFERRED_IN'|'CONTACTS_TRANSFERRED_OUT'|'CONTACTS_TRANSFERRED_IN_FROM_QUEUE'|'CONTACTS_TRANSFERRED_OUT_FROM_QUEUE'|'CONTACTS_MISSED'|'CALLBACK_CONTACTS_HANDLED'|'API_CONTACTS_HANDLED'|'OCCUPANCY'|'HANDLE_TIME'|'AFTER_CONTACT_WORK_TIME'|'QUEUED_TIME'|'ABANDON_TIME'|'QUEUE_ANSWER_TIME'|'HOLD_TIME'|'INTERACTION_TIME'|'INTERACTION_AND_HOLD_TIME'|'SERVICE_LEVEL',
                        'Threshold': {
                            'Comparison': 'LT',
                            'ThresholdValue': 123.0
                        },
                        'Statistic': 'SUM'|'MAX'|'AVG',
                        'Unit': 'SECONDS'|'COUNT'|'PERCENT'
                    },
                    'Value': 123.0
                },
            ]
        },
    ]
}

Response Structure

  • (dict) –

    • NextToken (string) –

      If there are additional results, this is the token for the next set of results.

      The token expires after 5 minutes from the time it is created. Subsequent requests that use the token must use the same request parameters as the request that generated the token.

    • MetricResults (list) –

      Information about the historical metrics.

      If no grouping is specified, a summary of metric data is returned.

      • (dict) –

        Contains information about the historical metrics retrieved.

        • Dimensions (dict) –

          The dimension for the metrics.

          • Queue (dict) –

            Information about the queue for which metrics are returned.

            • Id (string) –

              The identifier of the queue.

            • Arn (string) –

              The Amazon Resource Name (ARN) of the queue.

          • Channel (string) –

            The channel used for grouping and filters.

          • RoutingProfile (dict) –

            Information about the routing profile assigned to the user.

            • Id (string) –

              The identifier of the routing profile.

            • Arn (string) –

              The Amazon Resource Name (ARN) of the routing profile.

          • RoutingStepExpression (string) –

            The expression of a step in a routing criteria.

        • Collections (list) –

          The set of metrics.

          • (dict) –

            Contains the data for a historical metric.

            • Metric (dict) –

              Information about the metric.

              • Name (string) –

                The name of the metric.

              • Threshold (dict) –

                The threshold for the metric, used with service level metrics.

                • Comparison (string) –

                  The type of comparison. Only “less than” (LT) comparisons are supported.

                • ThresholdValue (float) –

                  The threshold value to compare.

              • Statistic (string) –

                The statistic for the metric.

              • Unit (string) –

                The unit for the metric.

            • Value (float) –

              The value of the metric.

Exceptions

  • Connect.Client.exceptions.InvalidRequestException

  • Connect.Client.exceptions.InvalidParameterException

  • Connect.Client.exceptions.InternalServiceException

  • Connect.Client.exceptions.ThrottlingException

  • Connect.Client.exceptions.ResourceNotFoundException