Skip to main content

Metrics

Monitor specific metric data to measure performance of your assets in near real-time. Streaming network data includes the following metrics:

  • Port and Connection Bandwidth Usage Metrics provide a bit per second (bit/s) output for the data transmitted (tx) or received (rx) in the port or connection asset.

  • Metro Latency Metrics provide the latency in milliseconds (ms) from a single subscribed metro code to other metros supported by Equinix.

  • Metro Jitter Metrics provide the average jitter from a single subscribed metro code to other directly connected metros supported by Equinix.

  • 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.

  • Port and Connection Availability Rate is calculated based on the total uptime and downtime of your asset over the duration of a month.

Refer to the reference of supported metrics for each asset.

Refer to the list of supported metrics for each asset.

Viewing Metrics

You can view metrics for an individual port, virtual connection, or Fabric Cloud Router asset in the Customer Portal.

  1. Sign in to the Customer Portal > Fabric Dashboard.

  2. Navigate to your Port Inventory, your Connections Inventory, or your Fabric Cloud Router Inventory.

  3. Select the port, virtual connection, or Fabric Cloud Router whose events you want to view.

  4. From the asset's detail page, click Metrics.

Example Connection Usage Metrics Table

Viewing Metrics from the API

You can retrieve metrics for individual assets from the Equinix API. In order for the event data to be available in the API, you have to first create a stream and attach assets to that stream.

Inter-Metro Latency

To view the latency between two metros, send a GET request to the /fabric/v4/<asset>/<asset_id>/metrics endpoint where:

  • asset is metros
  • asset_id is the two-letter Metro code
  • and specifying name=equinix.fabric.metro.<origin_metro_code>_<destination_metro_code>.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 <Bearer Token>'

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
}
]
}
]
}

Inter-Metro Average Jitter

To view the average jitter between two metros, send a GET request to the /fabric/v4/<asset>/<asset_id>/metrics endpoint where:

  • asset is metros
  • asset_id is the two-letter Metro code
  • and specifying name=equinix.fabric.metro.<origin_metro_code>_<destination_metro_code>.jitter_avg as the query parameter for the request.

Optionally specify a time period with fromDateTime and toDateTime.

Sample cURL Request:

curl -X 'GET' 'https://api.equinix.com/fabric/v4/metros/PH/metrics?name=equinix.fabric.metro.ph_dc.jitter_avg&toDateTime=2025-08-10T05:27:25Z&fromDateTime=2025-08-10T04:45:00Z'  \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Bearer Token>'

Sample Response:

{
"pagination": {
"offset": 0,
"limit": 10,
"total": 1
},
"data": [
{
"type": "GAUGE",
"name": "equinix.fabric.metro.ph_dc.jitter_avg",
"unit": "μs",
"resource": {
"href": "https://api.equinix.com/fabric/v4/metros/PH",
"type": "XF_METRO",
"description": "Philadelphia to Ashburn intermetro average jitter in microseconds"
},
"summary": {
"mean": 431.3,
"max": 2508
},
"datapoints": [
{
"endDateTime": "2025-08-10T04:45:00Z",
"value": 54.8
},
{
"endDateTime": "2025-08-10T04:50:00Z",
"value": 2508
},
{
"endDateTime": "2025-08-10T04:55:00Z",
"value": 34.4
},
{
"endDateTime": "2025-08-10T05:00:00Z",
"value": 121.6
},
{
"endDateTime": "2025-08-10T05:05:00Z",
"value": 1305.4
},
{
"endDateTime": "2025-08-10T05:10:00Z",
"value": 21.7
},
{
"endDateTime": "2025-08-10T05:15:00Z",
"value": 76.9
},
{
"endDateTime": "2025-08-10T05:20:00Z",
"value": -178.5
},
{
"endDateTime": "2025-08-10T05:25:00Z",
"value": -62.7
}
]
}
]
}

Port Bandwidth Usage

To view a port's bandwidth usage, send a GET request to the /fabric/v4/<asset>/<asset_id>/metrics 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/<port_id>/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 <Bearer Token>'

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/<portId>",
"uuid": "<portId>"
},
"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/<portId>",
"uuid": "<portId>"
},
"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

To view a count of the packets dropped from a port, send a GET request to the /fabric/v4/<asset>/<asset_id>/metrics 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/<portId>/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 <Bearer Token>'

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/<portId>",
"uuid": "<portId>"
},
"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/<portId>",
"uuid": "<portId>"
},
"summary": {
"mean": 0,
"max": 0
}
}
]
}

Port Packet Errors

To view the packet errors for a port, send a GET request to the /fabric/v4/<asset>/<asset_id>/metrics 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/<portId>/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 <Bearer Token>'

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/<portId>",
"uuid": "<portId>"
},
"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/<portId>",
"uuid": "<portId>"
},
"summary": {
"mean": 0,
"max": 0
}
}
]
}

Connection Bandwidth Usage

To view a connection's bandwidth usage, send a GET request to the /fabric/v4/<asset>/<asset_id>/metrics 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/<connectionId>/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 <Bearer Token>'

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/<connectionId>",
"type": "EVPL_VC",
"uuid": "<connectionId>",
"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/<connectionId>",
"type": "EVPL_VC",
"uuid": "<connectionId>",
"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

To view the packets dropped from a connection, send a GET request to the /fabric/v4/<asset>/<asset_id>/metrics 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/<connectionId>/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 <Bearer Token>'

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/<connectionId>",
"type": "EVPL_VC",
"uuid": "<connectionId>",
"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/<connectionId>",
"type": "EVPL_VC",
"uuid": "<connectionId>",
"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/<connectionId>",
"type": "EVPL_VC",
"uuid": "<connectionId>",
"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/<connectionId>",
"type": "EVPL_VC",
"uuid": "<connectionId>",
"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

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

Receiving Metrics in a Sink Integration

Once you have created a stream, and added assets to that stream, you can create a subscription to have metrics sent to your third-party data collector of choice by subscribing to the stream.

Once you create a subscription to the asset(s) metrics, it receives metrics at a 5-minute interval.