### Struct

# Soup MessageMetrics

#### Description [src]

    struct SoupMessageMetrics {
      /* No available fields */
    }

Contains metrics collected while loading a `SoupMessage` either from the network or the disk cache.

Metrics are not collected by default for a `SoupMessage`, you need to add the flag `SOUP_MESSAGE_COLLECT_METRICS` to enable the feature.

Temporal metrics are expressed as a monotonic time and always start with a fetch start event and finish with response end. All other events are optional. An event can be 0 because it hasn’t happened yet, because it’s optional or because the load failed before the event reached.

Size metrics are expressed in bytes and are updated while the `SoupMessage` is being loaded. You can connect to different `SoupMessage` signals to get the final result of every value.

#### Instance methods

###### soup_message_metrics_copy

Copies `metrics`.

###### soup_message_metrics_free

Frees `metrics`.

###### soup_message_metrics_get_connect_end

Get the time immediately after the `SoupMessage` completed the connection to the server. This includes the time for the proxy negotiation and TLS handshake.

###### soup_message_metrics_get_connect_start

Get the time immediately before the `SoupMessage` started to establish the connection to the server.

###### soup_message_metrics_get_dns_end

Get the time immediately after the `SoupMessage` completed the domain lookup name for the resource.

###### soup_message_metrics_get_dns_start

Get the time immediately before the `SoupMessage` started the domain lookup name for the resource.

###### soup_message_metrics_get_fetch_start

Get the time immediately before the `SoupMessage` started to fetch a resource either from a remote server or local disk cache.

###### soup_message_metrics_get_request_body_bytes_sent

Get the number of bytes sent to the network for the request body.

###### soup_message_metrics_get_request_body_size

Get the request body size in bytes. This is the size of the original body given to the request before any encoding is applied.

###### soup_message_metrics_get_request_header_bytes_sent

Get the number of bytes sent to the network for the request headers.

###### soup_message_metrics_get_request_start

Get the time immediately before the `SoupMessage` started the request of the resource from the server or the local disk cache.

###### soup_message_metrics_get_response_body_bytes_received

Get the number of bytes received from the network for the response body.

###### soup_message_metrics_get_response_body_size

Get the response body size in bytes.

###### soup_message_metrics_get_response_end

Get the time immediately after the `SoupMessage` received the last bytes of the response from the server or the local disk cache.

###### soup_message_metrics_get_response_header_bytes_received

Get the number of bytes received from the network for the response headers.

###### soup_message_metrics_get_response_start

Get the time immediately after the `SoupMessage` received the first bytes of the response from the server or the local disk cache.

###### soup_message_metrics_get_tls_start

Get the time immediately before the `SoupMessage` started the TLS handshake.