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.
-
Sign in to the Customer Portal > Fabric Dashboard.
-
Navigate to your Port Inventory, your Connections Inventory, or your Fabric Cloud Router Inventory.
-
Select the port, virtual connection, or Fabric Cloud Router whose events you want to view.
-
From the asset's detail page, click Metrics.
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
ismetros
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
ismetros
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
isports
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
isports
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
isports
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
isconnections
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
isconnections
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.