

# Metrics


The following table lists the telemetry metrics that the SDK emits. [Configure a telemetry provider](observability.md#observability-conf-telemetry-provider) to make the metrics observable.


**What metrics are emitted?**  

| Metric name | Units | Type | Attributes | Description | 
| --- | --- | --- | --- | --- | 
| smithy.client.call.duration | s | Histogram | rpc.service, rpc.method | Overall call duration (including retries) | 
| smithy.client.call.attempts | \$1attempt\$1 | MonotonicCounter | rpc.service, rpc.method | The number of attempts for an individual operation | 
| smithy.client.call.errors | \$1error\$1 | MonotonicCounter | rpc.service, rpc.method, exception.type | The number of errors for an operation | 
| smithy.client.call.attempt\$1duration | s | Histogram | rpc.service, rpc.method | The time it takes to connect to the service, send the request, and get back HTTP status code and headers (including time queued waiting to be sent) | 
| smithy.client.call.resolve\$1endpoint\$1duration | s | Histogram | rpc.service, rpc.method | The time it takes to resolve an endpoint (endpoint resolver, not DNS) for the request | 
| smithy.client.call.serialization\$1duration | s | Histogram | rpc.service, rpc.method | The time it takes to serialize a message body | 
| smithy.client.call.deserialization\$1duration | s | Histogram | rpc.service, rpc.method | The time it takes to deserialize a message body | 
| smithy.client.call.auth.signing\$1duration | s | Histogram | rpc.service, rpc.method, auth.scheme\$1id | The time it takes to sign a request | 
| smithy.client.call.auth.resolve\$1identity\$1duration | s | Histogram | rpc.service, rpc.method, auth.scheme\$1id | The time it takes to acquire an identity (such as AWS credentials or a bearer token) from an Identity Provider | 
| smithy.client.http.connections.acquire\$1duration | s | Histogram |  | The time it takes a request to acquire a connection | 
| smithy.client.http.connections.limit | \$1connection\$1 | [Async]UpDownCounter |  | The maximum open connections allowed/configured for the HTTP client | 
| smithy.client.http.connections.usage | \$1connection\$1 | [Async]UpDownCounter | state: idle \$1 acquired | Current state of connections pool | 
| smithy.client.http.connections.uptime | s | Histogram |  | The amount of time a connection has been open | 
| smithy.client.http.requests.usage | \$1request\$1 | [Async]UpDownCounter | state: queued \$1 in-flight | The current state of HTTP client request concurrency | 
| smithy.client.http.requests.queued\$1duration | s | Histogram |  | The amount of time a request spent queued and waiting to be executed by the HTTP client | 
| smithy.client.http.bytes\$1sent | By | MonotonicCounter | server.address | The total number of bytes sent by the HTTP client | 
| smithy.client.http.bytes\$1received | By | MonotonicCounter | server.address | The total number of bytes received by the HTTP client | 

Following are the column descriptions:
+ **Metric name**–The name of the emitted metric.
+ **Units**–The unit of measure for the metric. Units are given in the [UCUM](https://unitsofmeasure.org/ucum) case sensitive ("c/s") notation.
+ **Type**–The type of instrument used to capture the metric.
+ **Description**–A description of what the metric is measuring.
+ **Attributes**–The set of attributes (dimensions) emitted with the metric.