aws_sdk_connect/client/
get_current_metric_data.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`GetCurrentMetricData`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder) operation.
4    /// This operation supports pagination; See [`into_paginator()`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::into_paginator).
5    ///
6    /// - The fluent builder is configurable:
7    ///   - [`instance_id(impl Into<String>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::instance_id) / [`set_instance_id(Option<String>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_instance_id):<br>required: **true**<br><p>The identifier of the Amazon Connect instance. You can <a href="https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html">find the instance ID</a> in the Amazon Resource Name (ARN) of the instance.</p><br>
8    ///   - [`filters(Filters)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::filters) / [`set_filters(Option<Filters>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_filters):<br>required: **true**<br><p>The filters to apply to returned metrics. You can filter up to the following limits:</p> <ul>  <li>   <p>Queues: 100</p></li>  <li>   <p>Routing profiles: 100</p></li>  <li>   <p>Channels: 3 (VOICE, CHAT, and TASK channels are supported.)</p></li>  <li>   <p>RoutingStepExpressions: 50</p></li>  <li>   <p>AgentStatuses: 50</p></li> </ul> <p>Metric data is retrieved only for the resources associated with the queues or routing profiles, and by any channels included in the filter. (You cannot filter by both queue AND routing profile.) You can include both resource IDs and resource ARNs in the same request.</p> <p>When using <code>AgentStatuses</code> as filter make sure Queues is added as primary filter.</p> <p>When using the <code>RoutingStepExpression</code> filter, you need to pass exactly one <code>QueueId</code>. The filter is also case sensitive so when using the <code>RoutingStepExpression</code> filter, grouping by <code>ROUTING_STEP_EXPRESSION</code> is required.</p> <p>Currently tagging is only supported on the resources that are passed in the filter.</p><br>
9    ///   - [`groupings(Grouping)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::groupings) / [`set_groupings(Option<Vec::<Grouping>>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_groupings):<br>required: **false**<br><p>Defines the level of aggregation for metrics data by a dimension(s). Its similar to sorting items into buckets based on a common characteristic, then counting or calculating something for each bucket. For example, when grouped by <code>QUEUE</code>, the metrics returned apply to each queue rather than aggregated for all queues.</p> <p>The grouping list is an ordered list, with the first item in the list defined as the primary grouping. If no grouping is included in the request, the aggregation happens at the instance-level.</p> <ul>  <li>   <p>If you group by <code>CHANNEL</code>, you should include a Channels filter. VOICE, CHAT, and TASK channels are supported.</p></li>  <li>   <p>If you group by <code>AGENT_STATUS</code>, you must include the <code>QUEUE</code> as the primary grouping and use queue filter. When you group by <code>AGENT_STATUS</code>, the only metric available is the <code>AGENTS_ONLINE</code> metric.</p></li>  <li>   <p>If you group by <code>ROUTING_PROFILE</code>, you must include either a queue or routing profile filter. In addition, a routing profile filter is required for metrics <code>CONTACTS_SCHEDULED</code>, <code>CONTACTS_IN_QUEUE</code>, and <code> OLDEST_CONTACT_AGE</code>.</p></li>  <li>   <p>When using the <code>RoutingStepExpression</code> filter, group by <code>ROUTING_STEP_EXPRESSION</code> is required.</p></li> </ul><br>
10    ///   - [`current_metrics(CurrentMetric)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::current_metrics) / [`set_current_metrics(Option<Vec::<CurrentMetric>>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_current_metrics):<br>required: **true**<br><p>The metrics to retrieve. Specify the name and unit for each metric. The following metrics are available. For a description of all the metrics, see <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html">Metrics definitions</a> in the <i>Amazon Connect Administrator Guide</i>.</p> <dl>  <dt>   AGENTS_AFTER_CONTACT_WORK  </dt>  <dd>   <p>Unit: COUNT</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#aftercallwork-real-time">ACW</a></p>  </dd>  <dt>   AGENTS_AVAILABLE  </dt>  <dd>   <p>Unit: COUNT</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#available-real-time">Available</a></p>  </dd>  <dt>   AGENTS_ERROR  </dt>  <dd>   <p>Unit: COUNT</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#error-real-time">Error</a></p>  </dd>  <dt>   AGENTS_NON_PRODUCTIVE  </dt>  <dd>   <p>Unit: COUNT</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#non-productive-time-real-time">NPT (Non-Productive Time)</a></p>  </dd>  <dt>   AGENTS_ON_CALL  </dt>  <dd>   <p>Unit: COUNT</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#on-call-real-time">On contact</a></p>  </dd>  <dt>   AGENTS_ON_CONTACT  </dt>  <dd>   <p>Unit: COUNT</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#on-call-real-time">On contact</a></p>  </dd>  <dt>   AGENTS_ONLINE  </dt>  <dd>   <p>Unit: COUNT</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#online-real-time">Online</a></p>  </dd>  <dt>   AGENTS_STAFFED  </dt>  <dd>   <p>Unit: COUNT</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#staffed-real-time">Staffed</a></p>  </dd>  <dt>   CONTACTS_IN_QUEUE  </dt>  <dd>   <p>Unit: COUNT</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#in-queue-real-time">In queue</a></p>  </dd>  <dt>   CONTACTS_SCHEDULED  </dt>  <dd>   <p>Unit: COUNT</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#scheduled-real-time">Scheduled</a></p>  </dd>  <dt>   OLDEST_CONTACT_AGE  </dt>  <dd>   <p>Unit: SECONDS</p>   <p>When you use groupings, Unit says SECONDS and the Value is returned in SECONDS.</p>   <p>When you do not use groupings, Unit says SECONDS but the Value is returned in MILLISECONDS. For example, if you get a response like this:</p>   <p><code>{ "Metric": { "Name": "OLDEST_CONTACT_AGE", "Unit": "SECONDS" }, "Value": 24113.0 </code>}</p>   <p>The actual OLDEST_CONTACT_AGE is 24 seconds.</p>   <p>When the filter <code>RoutingStepExpression</code> is used, this metric is still calculated from enqueue time. For example, if a contact that has been queued under <code><expression 1></expression></code> for 10 seconds has expired and <code><expression 2></expression></code> becomes active, then <code>OLDEST_CONTACT_AGE</code> for this queue will be counted starting from 10, not 0.</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#oldest-real-time">Oldest</a></p>  </dd>  <dt>   SLOTS_ACTIVE  </dt>  <dd>   <p>Unit: COUNT</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#active-real-time">Active</a></p>  </dd>  <dt>   SLOTS_AVAILABLE  </dt>  <dd>   <p>Unit: COUNT</p>   <p>Name in real-time metrics report: <a href="https://docs.aws.amazon.com/connect/latest/adminguide/metrics-definitions.html#availability-real-time">Availability</a></p>  </dd> </dl><br>
11    ///   - [`next_token(impl Into<String>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::next_token) / [`set_next_token(Option<String>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_next_token):<br>required: **false**<br><p>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.</p> <p>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.</p><br>
12    ///   - [`max_results(i32)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::max_results) / [`set_max_results(Option<i32>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_max_results):<br>required: **false**<br><p>The maximum number of results to return per page.</p><br>
13    ///   - [`sort_criteria(CurrentMetricSortCriteria)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::sort_criteria) / [`set_sort_criteria(Option<Vec::<CurrentMetricSortCriteria>>)`](crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::set_sort_criteria):<br>required: **false**<br><p>The way to sort the resulting response based on metrics. You can enter one sort criteria. By default resources are sorted based on <code>AGENTS_ONLINE</code>, <code>DESCENDING</code>. The metric collection is sorted based on the input metrics.</p> <p>Note the following:</p> <ul>  <li>   <p>Sorting on <code>SLOTS_ACTIVE</code> and <code>SLOTS_AVAILABLE</code> is not supported.</p></li> </ul><br>
14    /// - On success, responds with [`GetCurrentMetricDataOutput`](crate::operation::get_current_metric_data::GetCurrentMetricDataOutput) with field(s):
15    ///   - [`next_token(Option<String>)`](crate::operation::get_current_metric_data::GetCurrentMetricDataOutput::next_token): <p>If there are additional results, this is the token for the next set of results.</p> <p>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.</p>
16    ///   - [`metric_results(Option<Vec::<CurrentMetricResult>>)`](crate::operation::get_current_metric_data::GetCurrentMetricDataOutput::metric_results): <p>Information about the real-time metrics.</p>
17    ///   - [`data_snapshot_time(Option<DateTime>)`](crate::operation::get_current_metric_data::GetCurrentMetricDataOutput::data_snapshot_time): <p>The time at which the metrics were retrieved and cached for pagination.</p>
18    ///   - [`approximate_total_count(Option<i64>)`](crate::operation::get_current_metric_data::GetCurrentMetricDataOutput::approximate_total_count): <p>The total count of the result, regardless of the current page size.</p>
19    /// - On failure, responds with [`SdkError<GetCurrentMetricDataError>`](crate::operation::get_current_metric_data::GetCurrentMetricDataError)
20    pub fn get_current_metric_data(&self) -> crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder {
21        crate::operation::get_current_metric_data::builders::GetCurrentMetricDataFluentBuilder::new(self.handle.clone())
22    }
23}