# Metrics Monitor specific metric data to measure performance of your assets in near real-time. Streaming network data includes the following metrics: * Port Bandwidth Usage Metrics provide a bit per second (bit/s) output for the data transmitted (tx) or received (rx) by the port. * Connection Bandwidth Usage provide a bit per second (bit/s) output for the data transmitted (tx) or received (rx) over a connection where a port is the a-side, between a cloud router and a port, and between a cloud router and a cloud service provider. * Metro Latency Metrics provide the latency in milliseconds (ms) from a single [subscribed metro code](https://docs.equinix.com/observability/streaming-data/api-managing-assets.md#metros) to other metros and latency between all metro pairs. * Port Error and Dropped Metrics provide the number of packet discards on a given port due to packet format, transmission errors, or even when the port doesn't have bandwidth to accept the packet. * Connection Packet Dropped Metrics provide the number of packets dropped on a connection due to exceeding bandwidth limits for both transmitted (tx) or received (rx) data. Only available on the port side of a connection. Refer to the [reference of supported metrics](https://github.com/equinix/equinix-cloudevents?tab=readme-ov-file#metrics) for each asset. ## Viewing Metrics[​](#viewing-metrics "Direct link to Viewing Metrics") You can view metrics for an individual port or virtual connection in the Customer Portal. Usage and Packet Drop metrics are available. 1. Sign in to the [Customer Portal](http://portal.equinix.com) > Fabric Dashboard. 2. Navigate to your *Port Inventory* or *Connections Inventory*. 3. Select a port or virtual connection. 4. From the [port detail](https://docs.equinix.com/fabric/ports/fabric-port-utilization.md#metrics) or [connection detail](https://docs.equinix.com/fabric/managing-connections/fabric-connection-traffic.md#metrics) page, click *Metrics*. ![Example Connection Usage Metrics Table](https://docs.equinix.com/assets/images/example-metrics-connection-usage-f8277d85775d287d816ecfc676393ebe.png) ## Viewing Metrics from the API[​](#viewing-metrics-from-the-api "Direct link to Viewing Metrics from the API") You can retrieve metrics for individual assets from the Equinix API. ### Inter-Metro Latency[​](#inter-metro-latency "Direct link to Inter-Metro Latency") To view the latency between two metros, send a `GET` request to the [`/fabric/v4///metrics`](https://docs.equinix.com/api-catalog/fabricv4/metrics/getmetricbyassetid.md) endpoint where: * `asset` is `metros` * `asset_id` is the two-letter Metro code * and specifying `name=equinix.fabric.metro._.latency` as the query parameter for the request. Sample cURL Request: ``` curl -X 'GET' 'https://api.equinix.com/fabric/v4/metros/SV/metrics?name=equinix.fabric.metro.sv_am.latency' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' ``` Sample Response: ``` { "pagination": { "offset": 0, "limit": 10, "total": 3, "next": null, "previous": null }, "data": [ { "type": "GAUGE", "name": "equinix.fabric.metro.sv_am.latency", "unit": "ms", "resource": { "href": "https://uatapi.equinix.com/fabric/v4/metros/SV", "type": "XF_METRO", "description": "Silicon Valley to Amsterdam intermetro latency, average in milliseconds" }, "summary": { "mean": 136.9, "max": 137 }, "datapoints": [ { "endDateTime": "2025-06-05T18:50:03Z", "value": 137 }, { "endDateTime": "2025-06-05T18:55:03Z", "value": 137 }, { "endDateTime": "2025-06-05T19:00:03Z", "value": 137 }, { "endDateTime": "2025-06-05T19:05:03Z", "value": 137 } ] } ] } ``` To view the real-time latency between all metro pairs, send a `GET` request to the [`/fabric/v4/metrics`](https://docs.equinix.com/api-catalog/fabricv4/metrics/getmetricbyname.md) endpoint. In the query parameters, specify: * `name=equinix.fabric.metro.*.latency` and `value=last`. * Optionally include the parameter `limit=` to specify the desired number of metric types to return from the results. * Optionally include the parameter `offset=` to specify the number of results to skip. Sample cURL Request: ``` curl -X 'GET' 'https://api.equinix.com/fabric/v4/metrics?value=last&limit=3&name=equinix.fabric.metro.*.latency' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' ``` Sample Response: ``` { "pagination": { "offset": 0, "limit": 3, "total": 4112, "next": "/metrics?offset=3&limit=3&fromDateTime=2026-01-29T18:05:44.041Z&name=equinix.fabric.metro.*.latency&toDateTime=2026-01-30T18:05:44.041Z" }, "data": [ { "type": "GAUGE", "name": "equinix.fabric.metro.am_at.latency", "unit": "ms", "resource": { "href": "https://api.equinix.com/fabric/v4/metros/AM", "type": "XF_METRO", "code": "AM", "description": "Amsterdam to Atlanta intermetro latency, average in milliseconds" }, "datapoints": [ { "endDateTime": "2026-01-30T18:05:00Z", "value": 94.7 } ] }, { "type": "GAUGE", "name": "equinix.fabric.metro.am_ba.latency", "unit": "ms", "resource": { "href": "https://api.equinix.com/fabric/v4/metros/AM", "type": "XF_METRO", "code": "AM", "description": "Amsterdam to Barcelona intermetro latency, average in milliseconds" }, "datapoints": [ { "endDateTime": "2026-01-30T18:05:00Z", "value": 28.8 } ] }, { "type": "GAUGE", "name": "equinix.fabric.metro.am_bg.latency", "unit": "ms", "resource": { "href": "https://api.equinix.com/fabric/v4/metros/AM", "type": "XF_METRO", "code": "AM", "description": "Amsterdam to Bogota intermetro latency, average in milliseconds" }, "datapoints": [ { "endDateTime": "2026-01-30T18:05:00Z", "value": 159 } ] } ] } ``` ### Port Bandwidth Usage[​](#port-bandwidth-usage "Direct link to Port Bandwidth Usage") To view a port's bandwidth usage, send a `GET` request to the [`/fabric/v4///metrics`](https://docs.equinix.com/api-catalog/fabricv4/metrics/getmetricbyassetid.md) endpoint where: * `asset` is `ports` * `asset_id` is the uuid of a specific port Query Parameters: * Inbound - `equinix.fabric.port.bandwidth_rx.usage` * Outbound - `equinix.fabric.port.bandwidth_tx.usage` To see all bandwidth usage, specify `name=equinix.fabric.port.bandwidth_rx.usage&name=equinix.fabric.port.bandwidth_tx.usage` as the query parameter for the request. Specify a time period with `fromDateTime` and `toDateTime`. Sample cURL Request: ``` curl -X 'GET' 'https://api.equinix.com/fabric/v4/ports//metrics?name=equinix.fabric.port.bandwidth_rx.usage&name=equinix.fabric.port.bandwidth_tx.usage&fromDateTime=2025-05-12T19%3A18%3A00Z&toDateTime=2025-05-13T19%3A18%3A00Z' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' ``` Sample Response: ``` { "pagination": { "offset": 0, "limit": 10, "total": 2, "next": null, "previous": null }, "data": [ { "type": "GAUGE", "name": "equinix.fabric.port.bandwidth_rx.usage", "unit": "bit/s", "resource": { "href": "https://api.equinix.com/fabric/v4/ports/", "type": "XF_PORT", "uuid": "", "state": "PROVISIONED", "name": "TEST-PORT-NAME" }, "summary": { "mean": 198.7, "max": 219 }, "datapoints": [ { "endDateTime": "2025-05-12T19:20:47.000Z", "value": 202 }, { "endDateTime": "2025-05-12T19:25:51.000Z", "value": 192 }, { "endDateTime": "2025-05-12T19:30:51.000Z", "value": 203 }, { "endDateTime": "2025-05-12T19:35:53.000Z", "value": 194 } ] }, { "type": "GAUGE", "name": "equinix.fabric.port.bandwidth_tx.usage", "unit": "bit/s", "resource": { "href": "https://api.equinix.com/fabric/v4/ports/", "type": "XF_PORT", "uuid": "", "state": "PROVISIONED", "name": "TEST-PORT-NAME" }, "summary": { "mean": 0, "max": 0 }, "datapoints": [ { "endDateTime": "2025-05-12T19:20:47.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:25:51.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:30:51.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:35:53.000Z", "value": 0 } ] } ] } ``` ### Port Packets Dropped[​](#port-packets-dropped "Direct link to Port Packets Dropped") To view a count of the packets dropped from a port, send a `GET` request to the [`/fabric/v4///metrics`](https://docs.equinix.com/api-catalog/fabricv4/metrics/getmetricbyassetid.md) endpoint where: * `asset` is `ports` * `asset_id` is the uuid of a specific port Query Parameters: * Inbound - `equinix.fabric.port.packets_dropped_rx.count` * Outbound - `equinix.fabric.port.packets_dropped_tx.count` To get a count of all dropped packets, specify `name=equinix.fabric.port.packets_dropped_rx.count&name=equinix.fabric.port.packets_dropped_tx.count` as the query parameter for the request. Specify a time period with `fromDateTime` and `toDateTime`. Sample cURL Request: ``` curl -X 'GET' 'https://api.equinix.com/fabric/v4/ports//metrics?name=equinix.fabric.port.packets_dropped_rx.count&name=equinix.fabric.port.packets_dropped_tx.count&fromDateTime=2025-05-12T19%3A18%3A00Z&toDateTime=2025-05-13T19%3A18%3A00Z' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' ``` Sample Response: ``` { "pagination": { "offset": 0, "limit": 10, "total": 2, "next": null, "previous": null }, "data": [ { "type": "SUM", "name": "equinix.fabric.port.packets_dropped_rx.count", "unit": "packet", "resource": { "href": "https://api.equinix.com/fabric/v4/ports/", "type": "XF_PORT", "uuid": "", "state": "PROVISIONED", "name": "TEST-PORT-NAME" }, "summary": { "mean": 0, "max": 0 } }, { "type": "SUM", "name": "equinix.fabric.port.packets_dropped_tx.count", "unit": "packet", "resource": { "href": "https://api.equinix.com/fabric/v4/ports/", "type": "XF_PORT", "uuid": "", "state": "PROVISIONED", "name": "TEST-PORT-NAME" }, "summary": { "mean": 0, "max": 0 } } ] } ``` ### Port Packet Errors[​](#port-packet-errors "Direct link to Port Packet Errors") To view the packet errors for a port, send a `GET` request to the [`/fabric/v4///metrics`](https://docs.equinix.com/api-catalog/fabricv4/metrics/getmetricbyassetid.md) endpoint * `asset` is `ports` * `asset_id` is the uuid of a specific port Query Parameters: * Inbound - `equinix.fabric.port.packets_erred_rx.count` * Outbound - `equinix.fabric.port.packets_erred_tx.count` To get a count for all packet errors, specify `name=equinix.fabric.port.packets_erred_rx.count&name=equinix.fabric.port.packets_erred_tx.count` as the query parameter for the request. Specify a time period with `fromDateTime` and `toDateTime`. Sample cURL Request: ``` curl -X 'GET' 'https://api.equinix.com/fabric/v4/ports//metrics?name=equinix.fabric.port.packets_erred_rx.count&name=equinix.fabric.port.packets_erred_tx.count&fromDateTime=2025-05-12T19%3A18%3A00Z&toDateTime=2025-05-13T19%3A18%3A00Z' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' ``` Sample Response: ``` { "pagination": { "offset": 0, "limit": 10, "total": 2, "next": null, "previous": null }, "data": [ { "type": "SUM", "name": "equinix.fabric.port.packets_erred_rx.count", "unit": "packet", "resource": { "href": "https://api.equinix.com/fabric/v4/ports/", "type": "XF_PORT", "uuid": "", "state": "PROVISIONED", "name": "TEST-PORT-NAME" }, "summary": { "mean": 0, "max": 0 } }, { "type": "SUM", "name": "equinix.fabric.port.packets_erred_tx.count", "unit": "packet", "resource": { "href": "https://api.equinix.com/fabric/v4/ports/", "type": "XF_PORT", "uuid": "", "state": "PROVISIONED", "name": "TEST-PORT-NAME" }, "summary": { "mean": 0, "max": 0 } } ] } ``` ### Connection Bandwidth Usage[​](#connection-bandwidth-usage "Direct link to Connection Bandwidth Usage") To view a connection's bandwidth usage, send a `GET` request to the [`/fabric/v4///metrics`](https://docs.equinix.com/api-catalog/fabricv4/metrics/getmetricbyassetid.md) endpoint where: * `asset` is `connections` * `asset_id` is the uuid of a specific connection Query Parameters: * Inbound - `equinix.fabric.connection.bandwidth_rx.usage` * Outbound - `equinix.fabric.connection.bandwidth_tx.usage` To see all bandwidth usage, specify `name=equinix.fabric.connection.bandwidth_rx.usage&name=equinix.fabric.connection.bandwidth_tx.usage` as the query parameter for the request. Specify a time period with `fromDateTime` and `toDateTime`. Sample cURL Request: ``` curl -X 'GET' 'https://api.equinix.com/fabric/v4/connections//metrics?name=equinix.fabric.connection.bandwidth_rx.usage&name=equinix.fabric.connection.bandwidth_tx.usage&fromDateTime=2025-05-12T19%3A18%3A00Z&toDateTime=2025-05-13T19%3A18%3A00Z' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' ``` Sample Response: ``` { "pagination": { "offset": 0, "limit": 10, "total": 2, "next": null, "previous": null }, "data": [ { "type": "GAUGE", "name": "equinix.fabric.connection.bandwidth_rx.usage", "unit": "bit/s", "resource": { "href": "https://api.equinix.com/fabric/v4/connections/", "type": "EVPL_VC", "uuid": "", "state": "PROVISIONED", "name": "TEST-CONNECTION-NAME" }, "summary": { "mean": 0, "max": 0 }, "datapoints": [ { "endDateTime": "2025-05-12T19:22:48.000Z", "value": 202 }, { "endDateTime": "2025-05-12T19:27:50.000Z", "value": 192 }, { "endDateTime": "2025-05-12T19:31:51.000Z", "value": 203 }, { "endDateTime": "2025-05-12T19:37:45.000Z", "value": 194 } ] }, { "type": "GAUGE", "name": "equinix.fabric.connection.bandwidth_tx.usage", "unit": "bit/s", "resource": { "href": "https://api.equinix.com/fabric/v4/connections/", "type": "EVPL_VC", "uuid": "", "state": "PROVISIONED", "name": "TEST-CONNECTION-NAME" }, "summary": { "mean": 0, "max": 0 }, "datapoints": [ { "endDateTime": "2025-05-12T19:22:48.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:27:50.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:31:51.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:37:45.000Z", "value": 0 } ] } ] } ``` ### Connection Packets Dropped[​](#connection-packets-dropped "Direct link to Connection Packets Dropped") To view the packets dropped from a connection, send a `GET` request to the [`/fabric/v4///metrics`](https://docs.equinix.com/api-catalog/fabricv4/metrics/getmetricbyassetid.md) endpoint where: * `asset` is `connections` * `asset_id` is the uuid of a specific connection Metrics are available for the a-side, z-side, inbound, and outbound of the connection. Query Parameters: * Inbound a-side - `equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count` * Outbound a-side - `equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count` * Inbound z-side - `equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count` * Outbound z-side - `equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count` To view all the dropped packets for the connection, specify `name=equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count&name=equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count&name=equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count&name=equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count` as the query parameter for the request. Specify a time period with `fromDateTime` and `toDateTime`. ``` curl -X 'GET' 'https://api.equinix.com/fabric/v4/connections//metrics?name=equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count&name=equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count&name=equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count&name=equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count&fromDateTime=2025-05-12T19%3A18%3A00Z&toDateTime=2025-05-13T19%3A18%3A00Z' \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer ' ``` Sample Response: ``` { "pagination": { "offset": 0, "limit": 10, "total": 2, "next": null, "previous": null }, "data": [ { "type": "SUM", "name": "equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count", "unit": "packet", "resource": { "href": "https://api.equinix.com/fabric/v4/connections/", "type": "EVPL_VC", "uuid": "", "state": "PROVISIONED", "name": "TEST-CONNECTION-NAME" }, "summary": { "mean": 0, "max": 0 }, "datapoints": [ { "endDateTime": "2025-05-12T19:28:59.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:34:01.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:36:16.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:42:12.000Z", "value": 0 } ] }, { "type": "SUM", "name": "equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count", "unit": "packet", "resource": { "href": "https://api.equinix.com/fabric/v4/connections/", "type": "EVPL_VC", "uuid": "", "state": "PROVISIONED", "name": "TEST-CONNECTION-NAME" }, "summary": { "mean": 0, "max": 0 }, "datapoints": [ { "endDateTime": "2025-05-12T19:28:59.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:34:01.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:36:16.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:42:12.000Z", "value": 0 } ] }, { "type": "SUM", "name": "equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count", "unit": "packet", "resource": { "href": "https://api.equinix.com/fabric/v4/connections/", "type": "EVPL_VC", "uuid": "", "state": "PROVISIONED", "name": "TEST-CONNECTION-NAME" }, "summary": { "mean": 0, "max": 0 }, "datapoints": [ { "endDateTime": "2025-05-12T19:28:59.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:34:01.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:36:16.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:42:12.000Z", "value": 0 } ] }, { "type": "SUM", "name": "equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count", "unit": "packet", "resource": { "href": "https://api.equinix.com/fabric/v4/connections/", "type": "EVPL_VC", "uuid": "", "state": "PROVISIONED", "name": "TEST-CONNECTION-NAME" }, "summary": { "mean": 0, "max": 0 }, "datapoints": [ { "endDateTime": "2025-05-12T19:28:59.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:34:01.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:36:16.000Z", "value": 0 }, { "endDateTime": "2025-05-12T19:42:12.000Z", "value": 0 } ] } ] } ``` ## Creating Metric Alerts[​](#creating-metric-alerts "Direct link to Creating Metric Alerts") Use the Stream Alert Rule Management APIs to create events when a metric crosses a defined threshold value. For more information, see [Managing Metric Alert Rules](https://docs.equinix.com/observability/streaming-data/api-managing-metric-alert-rules.md) ## Receiving Metrics in a Sink Integration[​](#receiving-metrics-in-a-sink-integration "Direct link to Receiving Metrics in a Sink Integration") Once you have created a stream, and added assets to that stream, you can [create a subscription](https://docs.equinix.com/observability/streaming-data/create-subscription.md) to have metrics sent to your third-party data collector of choice. Metrics are sent on a 5-minute interval.