# ThousandEyes for OpenTelemetry Data Model v2 - Metrics

This document describes the metrics and attributes emitted by ThousandEyes using the OpenTelemetry Data Model v2 for metrics.

## Network & App Synthetics Tests

| **Test Type**                                    | **Metrics**                                                                                                                                                                                                                                      | **Specific Attributes**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | **Common Attributes**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| HTTP server                                      | <ul><li><code>http.server.request.availability</code></li><li><code>http.server.throughput</code></li><li><code>http.client.request.duration</code></li></ul>                                                                                    | <ul><li><code>server.address</code></li><li><code>server.port</code></li><li><code>url.scheme</code></li><li><code>http.request.method</code></li><li><code>http.route</code></li><li><code>error.type</code></li><li><code>http.response.status\_code</code></li></ul>                                                                                                                                                                                                                                                      | <p><strong>Note:</strong> The following attributes apply to all test types in this table.</p><ul><li><code>thousandeyes.stream.id</code></li><li><code>thousandeyes.account.id</code></li><li><code>thousandeyes.test.domain</code></li><li><code>thousandeyes.test.id</code></li><li><code>thousandeyes.test.name</code></li><li><code>thousandeyes.test.type</code></li><li><code>thousandeyes.source.agent.id</code></li><li><code>thousandeyes.source.agent.name</code></li><li><code>thousandeyes.source.agent.location</code></li><li><code>thousandeyes.source.agent.geoname.id</code></li><li><code>thousandeyes.source.agent.geo.region.iso\_code</code></li><li><code>thousandeyes.source.agent.geo.country.iso\_code</code></li><li><code>thousandeyes.data.version</code></li><li><code>thousandeyes.permalink</code></li></ul> |
| Agent-to-server                                  | <ul><li><code>network.latency</code></li><li><code>network.loss</code></li><li><code>network.jitter</code></li></ul>                                                                                                                             | <ul><li><code>server.address</code></li><li><code>server.port</code></li><li><code>network.transport</code></li><li><code>error.type</code></li></ul>                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Agent-to-agent (unidirectional or bidirectional) | <ul><li><code>network.latency</code></li><li><code>network.loss</code></li><li><code>network.jitter</code></li></ul>                                                                                                                             | <ul><li><code>network.transport</code></li><li><code>server.port</code></li><li><code>thousandeyes.target.agent.id</code></li><li><code>thousandeyes.target.agent.name</code></li><li><code>thousandeyes.target.agent.location</code></li><li><code>thousandeyes.target.agent.geoname.id</code></li><li><code>thousandeyes.target.agent.geo.region.iso\_code</code></li><li><code>thousandeyes.target.agent.geo.country.iso\_code</code></li><li><code>network.io.direction</code></li><li><code>error.type</code></li></ul> |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| BGP                                              | <ul><li><code>bgp.path\_changes.count</code></li><li><code>bgp.reachability</code></li><li><code>bgp.updates.count</code></li></ul>                                                                                                              | <ul><li><code>network.prefix</code></li><li><code>network.as.path</code></li><li><code>thousandeyes.monitor.id</code></li><li><code>thousandeyes.monitor.name</code></li><li><code>thousandeyes.monitor.location</code></li></ul>                                                                                                                                                                                                                                                                                            |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Transaction                                      | <ul><li><code>web.transaction.duration</code></li><li><code>web.transaction.errors.count</code></li><li><code>web.transaction.completion</code></li></ul>                                                                                        | <ul><li><code>marker</code></li><li><code>error.type</code></li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                        |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| DNS server                                       | <ul><li><code>dns.lookup.availability</code></li><li><code>dns.lookup.duration</code></li></ul>                                                                                                                                                  | <ul><li><code>dns.question.name</code></li><li><code>error.type</code></li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| DNSSEC                                           | <ul><li><code>dns.lookup.validity</code></li></ul>                                                                                                                                                                                               | <ul><li><code>dns.question.name</code></li><li><code>error.type</code></li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| DNS trace                                        | <ul><li><code>dns.lookup.availability</code></li><li><code>dns.lookup.duration</code></li></ul>                                                                                                                                                  | <ul><li><code>dns.question.name</code></li><li><code>error.type</code></li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Page load                                        | <ul><li><code>web.page\_load.duration</code></li><li><code>web.page\_load.completion</code></li></ul>                                                                                                                                            | <ul><li><code>server.address</code></li><li><code>server.port</code></li><li><code>error.type</code></li></ul>                                                                                                                                                                                                                                                                                                                                                                                                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| FTP server                                       | <ul><li><code>ftp.server.request.availability</code></li><li><code>ftp.client.request.duration</code></li><li><code>ftp.server.throughput</code></li></ul>                                                                                       | <ul><li><code>server.address</code></li><li><code>ftp.request.command</code></li><li><code>url.scheme</code></li><li><code>server.port</code></li><li><code>error.type</code></li><li><code>ftp.response.status\_code</code></li></ul>                                                                                                                                                                                                                                                                                       |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| SIP server                                       | <ul><li><code>sip.server.request.availability</code></li><li><code>sip.client.request.duration</code></li><li><code>sip.client.request.total\_time</code></li></ul>                                                                              | <ul><li><code>server.address</code></li><li><code>server.port</code></li><li><code>error.type</code></li><li><code>sip.response.status\_code</code></li></ul>                                                                                                                                                                                                                                                                                                                                                                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| RTP stream                                       | <ul><li><code>rtp.client.request.mos</code></li><li><code>rtp.client.request.loss</code></li><li><code>rtp.client.request.discards</code></li><li><code>rtp.client.request.duration</code></li><li><code>rtp.client.request.pdv</code></li></ul> | <ul><li><code>thousandeyes.target.agent.id</code></li><li><code>thousandeyes.target.agent.name</code></li><li><code>thousandeyes.target.agent.location</code></li><li><code>thousandeyes.target.agent.geoname.id</code></li><li><code>thousandeyes.target.agent.geo.region.iso\_code</code></li><li><code>thousandeyes.target.agent.geo.country.iso\_code</code></li><li><code>error.type</code></li></ul>                                                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| API test                                         | <ul><li><code>api.duration</code></li><li><code>api.completion</code></li></ul>                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| API test per step                                | <ul><li><code>api.step.duration</code></li><li><code>api.step.completion</code></li></ul>                                                                                                                                                        | <ul><li><code>server.address</code></li><li><code>server.port</code></li><li><code>url.scheme</code></li><li><code>http.request.method</code></li><li><code>thousandeyes.test.step</code></li><li><code>error.type</code></li></ul>                                                                                                                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

## Network & App Synthetics BGP Tests

| **Metrics**                                                                                                                         | **Attributes**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| ----------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <ul><li><code>bgp.path\_changes.count</code></li><li><code>bgp.reachability</code></li><li><code>bgp.updates.count</code></li></ul> | <ul><li><code>network.prefix</code></li><li><code>network.as.path</code></li><li><code>thousandeyes.monitor.id</code></li><li><code>thousandeyes.monitor.name</code></li><li><code>thousandeyes.monitor.location</code></li><li><code>thousandeyes.stream.id</code></li><li><code>thousandeyes.account.id</code></li><li><code>thousandeyes.test.domain</code></li><li><code>thousandeyes.test.id</code></li><li><code>thousandeyes.test.name</code></li><li><code>thousandeyes.test.type</code></li><li><code>thousandeyes.data.version</code></li><li><code>thousandeyes.permalink</code></li></ul> |

## Endpoint Experience - Tests

| **Test Category** | **Test Type**   | **Metrics**                                                                                                                                                   | **Specific Attributes**                                                                                                                                                                                                                 | **Common Attributes**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ----------------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Scheduled         | HTTP server     | <ul><li><code>http.server.request.availability</code></li><li><code>http.server.throughput</code></li><li><code>http.client.request.duration</code></li></ul> | <ul><li><code>server.address</code></li><li><code>server.port</code></li><li><code>url.scheme</code></li><li><code>http.request.method</code></li><li><code>error.type</code></li><li><code>http.response.status\_code</code></li></ul> | <p><strong>Note:</strong> The following attributes apply to all test types in this table.</p><ul><li><code>thousandeyes.stream.id</code></li><li><code>thousandeyes.account.id</code></li><li><code>thousandeyes.test.domain</code></li><li><code>thousandeyes.test.id</code></li><li><code>thousandeyes.test.name</code></li><li><code>thousandeyes.test.type</code></li><li><code>thousandeyes.source.agent.id</code></li><li><code>thousandeyes.source.agent.name</code></li><li><code>thousandeyes.source.agent.location</code></li><li><code>thousandeyes.source.agent.geoname.id</code></li><li><code>thousandeyes.source.agent.geo.region.iso\_code</code></li><li><code>thousandeyes.source.agent.geo.country.iso\_code</code></li><li><code>thousandeyes.data.version</code></li><li><code>thousandeyes.permalink</code></li></ul> |
| Scheduled         | Agent-to-server | <ul><li><code>network.latency</code></li><li><code>network.loss</code></li><li><code>network.jitter</code></li></ul>                                          | <ul><li><code>server.address</code></li><li><code>server.port</code></li><li><code>network.transport</code></li><li><code>error.type</code></li></ul>                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Dynamic           | Agent-to-server | <ul><li><code>network.latency</code></li><li><code>network.loss</code></li><li><code>network.jitter</code></li></ul>                                          | <ul><li><code>server.address</code></li><li><code>server.port</code></li><li><code>network.transport</code></li><li><code>error.type</code></li></ul>                                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

## Endpoint Experience Local Network

| **Category** | **Metrics**                                                                                                                                                 | **Specific Attributes**                                                                                                                                                                  | **Common Attributes**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| DNS          | <ul><li><code>network.latency</code></li><li><code>network.loss</code></li><li><code>dns.lookup.duration</code></li></ul>                                   | <ul><li><code>target.type: dns</code></li><li><code>server.address</code></li></ul>                                                                                                      | <p><strong>Note:</strong> The following attributes apply to all categories in this table.</p><ul><li><code>thousandeyes.stream.id</code></li><li><code>thousandeyes.account.id</code></li><li><code>thousandeyes.source.agent.id</code></li><li><code>thousandeyes.source.agent.name</code></li><li><code>thousandeyes.source.agent.location</code></li><li><code>thousandeyes.source.agent.geoname.id</code></li><li><code>thousandeyes.source.agent.geo.region.iso\_code</code></li><li><code>thousandeyes.source.agent.geo.country.iso\_code</code></li><li><code>thousandeyes.source.agent.network.address</code></li><li><code>thousandeyes.source.agent.local.network.address</code></li><li><code>thousandeyes.source.agent.os.type</code></li><li><code>thousandeyes.source.agent.mac.address</code></li><li><code>thousandeyes.source.agent.connection.type</code></li><li><code>thousandeyes.source.agent.network.org</code></li><li><code>thousandeyes.source.agent.network.as.number</code></li><li><code>thousandeyes.source.agent.network.as.name</code></li><li><code>thousandeyes.data.version</code></li><li><code>thousandeyes.permalink</code></li></ul> |
| Proxy        | <ul><li><code>network.latency</code></li><li><code>network.loss</code></li><li><code>network.score</code></li></ul>                                         | <ul><li><code>target.type: proxy</code></li><li><code>server.address</code></li><li><code>server.port</code></li></ul>                                                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| Gateway      | <ul><li><code>network.latency</code></li><li><code>network.loss</code></li><li><code>network.score</code></li></ul>                                         | <ul><li><code>target.type: gateway</code></li><li><code>server.address</code></li><li><code>server.port</code></li></ul>                                                                 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| VPN          | <ul><li><code>network.latency</code></li><li><code>network.loss</code></li><li><code>network.score</code></li></ul>                                         | <ul><li><code>target.type: vpn</code></li><li><code>server.address</code></li><li><code>server.port</code></li><li><code>vpn.vendor</code></li><li><code>client.address</code></li></ul> |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| System       | <ul><li><code>system.cpu.utilization</code></li><li><code>system.memory.utilization</code></li><li><code>thousandeyes.endpoint.agent.score</code></li></ul> |                                                                                                                                                                                          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

## Metrics

| **Key**                             | **Data Type**              | **Description**                                                                                                                                                                                 |
| ----------------------------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `http.server.request.availability`  | Double (Percentage)        | Calculated based on the errors reported during the test. If any errors occur, the availability is 0%; otherwise, it's 100%.                                                                     |
| `http.server.throughput`            | Double (Bytes-per-second)  | Throughput of test in bytes per second.                                                                                                                                                         |
| `http.client.request.duration`      | Double (Seconds)           | Time to first byte (TTFB) as measured on the client.                                                                                                                                            |
| `network.latency`                   | Double (Seconds)           | The maximum round-trip time for packets sent to the target.                                                                                                                                     |
| `network.loss`                      | Double (Percentage)        | Packet loss.                                                                                                                                                                                    |
| `network.jitter`                    | Double (Milliseconds)      | Standard deviation of the round-trip times.                                                                                                                                                     |
| `web.transaction.duration`          | Double (Seconds)           | The time it took the transaction to complete successfully. This metric is not reported if there are errors.                                                                                     |
| `web.transaction.completion`        | Double (Percentage)        | Percentage of transaction completion. It is 100% if the transaction completes successfully and 0% if there are errors.                                                                          |
| `web.transaction.errors.count`      | Integer (count)            | Indicates whether an error occurred during the transaction. Returns 1 if an error occurs, and 0 if not.                                                                                         |
| `dns.lookup.availability`           | Double (Percentage)        | Calculated depending on the errors reported during the test. If any error occurs, the availability is 0%; otherwise, it is 100%.                                                                |
| `dns.lookup.duration`               | Double (Seconds)           | DNS resolve time.                                                                                                                                                                               |
| `dns.lookup.validity`               | Double (Percentage)        | Calculated depending on the errors reported during the test. If any error occurs, the validity is 0%; otherwise, it is 100%.                                                                    |
| `web.page_load.completion`          | Double (Percentage)        | Calculated depending on the errors reported during the test. If any error occurs, the validity is 0%; otherwise, it is 100%.                                                                    |
| `web.page_load.duration`            | Double (Seconds)           | Time to fully load the page.                                                                                                                                                                    |
| `ftp.server.request.availability`   | Double (Percentage)        | Calculated depending on the errors reported during the test. If any error occurs, the availability is 0%; otherwise, it is 100%.                                                                |
| `ftp.server.throughput`             | Integer (Bytes-per-second) | Throughput of test in bytes per second.                                                                                                                                                         |
| `ftp.client.request.duration`       | Double (Seconds)           | Total time it took to receive the first byte while executing the request.                                                                                                                       |
| `sip.server.request.availability`   | Double (Percentage)        | Calculated depending on the errors reported during the test. If any error occurs, the availability is 0%; otherwise, it is 100%.                                                                |
| `sip.client.request.duration`       | Double (Seconds)           | Total time it took to receive the first byte while executing the request.                                                                                                                       |
| `sip.client.request.total_time`     | Double (Seconds)           | Total time it took until the last response was received.                                                                                                                                        |
| `rtp.client.request.mos`            | Double (score)             | Mean opinion score (MOS). A measurement of perceived voice quality, ranging from 1 to 5. A MOS of 5 indicates excellent voice call quality, while a MOS of 1 indicates poor voice call quality. |
| `rtp.client.request.loss`           | Double (Percentage)        | Percentage of frames lost, calculated from the number of lost frames and the total number of frames.                                                                                            |
| `rtp.client.request.discards`       | Double (Percentage)        | Percentage of frames discarded, calculated from the number of discarded frames and the total number of frames.                                                                                  |
| `rtp.client.request.duration`       | Double (Seconds)           | Total time for the test round execution.                                                                                                                                                        |
| `rtp.client.request.duration`       | Long (Seconds)             | Packet delay variation.                                                                                                                                                                         |
| `bgp.path_changes.count`            | Integer (count)            | Number of BGP route changes.                                                                                                                                                                    |
| `bgp.reachability`                  | Double (Percentage)        | Indicates if BGP route target is reachable.                                                                                                                                                     |
| `bgp.updates.count`                 | Integer (count)            | Number of BGP updates.                                                                                                                                                                          |
| `api.duration`                      | Double (Seconds)           | The total time the API test took to run, including all steps.                                                                                                                                   |
| `api.completion`                    | Double (Percentage)        | Percentage of completion of all the steps of the API test.                                                                                                                                      |
| `api.step.duration`                 | Double (Seconds)           | Time to complete the API test step.                                                                                                                                                             |
| `api.step.completion`               | Double (Percentage)        | Percentage of API test step completion. 100% if the step is completed successfully, 0% if there are errors.                                                                                     |
| `network.score`                     | Double (score)             | Score aggregated from latency, jitter, and loss scores.                                                                                                                                         |
| `system.cpu.utilization`            | Double (Percentage)        | Percentage of CPU utilization.                                                                                                                                                                  |
| `system.memory.utilization`         | Double (Percentage)        | Percentage of memory utilization.                                                                                                                                                               |
| `thousandeyes.endpoint.agent.score` | Double (score)             | Score aggregated from CPU and memory scores.                                                                                                                                                    |

## Attributes

The OpenTelemetry pipeline supports the following OTel attributes:

### Resource Attributes

| **Key**                                           | **Data Type** | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | **Example**                                |
| ------------------------------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| `thousandeyes.stream.id`                          | String        | UUID of the integration used to route the data point to the external service.                                                                                                                                                                                                                                                                                                                                                                                                          | `123e4567-e89b-12d3-a456-426614174000`     |
| `thousandeyes.account.id`                         | String        | The ID of the account that the telemetry data is associated with.                                                                                                                                                                                                                                                                                                                                                                                                                      | `987654`                                   |
| `thousandeyes.test.domain`                        | String        | Identifies the origin of the test data. Possible values: `cea` (Network & App Synthetics), `endpoint` (Endpoint Experience).                                                                                                                                                                                                                                                                                                                                                           | `cea`                                      |
| `thousandeyes.test.id`                            | String        | Identifies the ThousandEyes test by ID number.                                                                                                                                                                                                                                                                                                                                                                                                                                         | `246810`                                   |
| `thousandeyes.test.name`                          | String        | The name of the ThousandEyes test.                                                                                                                                                                                                                                                                                                                                                                                                                                                     | `Login page check`                         |
| `thousandeyes.test.type`                          | String        | <p>Identifies the type of test. Possible values:</p><ul><li><code>agent-to-agent</code></li><li><code>agent-to-server</code></li><li><code>dns-dnssec</code></li><li><code>dns-server</code></li><li><code>dns-trace</code></li><li><code>ftp-server</code></li><li><code>http-server</code></li><li><code>page-load</code></li><li><code>sip-server</code></li><li><code>web-transactions</code></li><li><code>rtp</code></li><li><code>bgp</code></li><li><code>api</code></li></ul> | `http-server`                              |
| `thousandeyes.source.agent.id`                    | String        | Identifies the ThousandEyes agent that ran the test.                                                                                                                                                                                                                                                                                                                                                                                                                                   | `12345`                                    |
| `thousandeyes.source.agent.location`              | String        | Agent location.                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | `San Jose, CA, US`                         |
| `thousandeyes.source.agent.name`                  | String        | Agent name.                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `us-west-1a`                               |
| `thousandeyes.source.agent.geoname.id`            | String        | The GeoNames ID of the ThousandEyes source agent that ran the test. For more information, see [GeoNames](https://www.geonames.org/about.html).                                                                                                                                                                                                                                                                                                                                         | `5392171`                                  |
| `thousandeyes.source.agent.geo.region.iso_code`   | String        | ISO code for the region where the source agent is located.                                                                                                                                                                                                                                                                                                                                                                                                                             | `US-CA`                                    |
| `thousandeyes.source.agent.geo.country.iso_code`  | String        | ISO code for the country where the source agent is located.                                                                                                                                                                                                                                                                                                                                                                                                                            | `US`                                       |
| `thousandeyes.data.version`                       | String        | <p>Specifies the version of the data model. Possible values:</p><ul><li><code>v1</code></li><li><code>v2</code></li></ul>                                                                                                                                                                                                                                                                                                                                                              | `v2`                                       |
| `thousandeyes.permalink`                          | String        | URL for the network test instance that generated the data.                                                                                                                                                                                                                                                                                                                                                                                                                             | `https://app.thousandeyes.com/tests/12345` |
| `server.address`                                  | String        | Server domain name, if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.                                                                                                                                                                                                                                                                                                                                                                         | `example.com`                              |
| `server.port`                                     | Integer       | Server port number.                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | `443`                                      |
| `url.scheme`                                      | String        | <p>The URI scheme component that identifies the protocol used. Enum:</p><ul><li><code>http</code></li><li><code>https</code></li></ul>                                                                                                                                                                                                                                                                                                                                                 | `https`                                    |
| `http.request.method`                             | String        | <p>HTTP request method. Enum:</p><ul><li><code>GET</code></li><li><code>POST</code></li><li><code>HEAD</code></li><li><code>PUT</code></li><li><code>DELETE</code></li><li><code>OPTIONS</code></li><li><code>PATCH</code></li><li><code>CONNECT</code></li></ul>                                                                                                                                                                                                                      | `GET`                                      |
| `http.route`                                      | String        | The matched route.                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | `/api/v1/users`                            |
| `network.transport`                               | String        | <p>OSI transport layer or inter-process communication method. Enum:</p><ul><li><code>tcp</code></li><li><code>udp</code></li><li><code>icmp</code></li></ul>                                                                                                                                                                                                                                                                                                                           | `tcp`                                      |
| `thousandeyes.target.agent.id`                    | String        | Identifies the ThousandEyes agent that was the target of the test.                                                                                                                                                                                                                                                                                                                                                                                                                     | `98765`                                    |
| `thousandeyes.target.agent.location`              | String        | Target agent location.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `New York, NY, US`                         |
| `thousandeyes.target.agent.name`                  | String        | Target agent name.                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | `nyc-edge-1`                               |
| `network.io.direction`                            | String        | <p>The network IO operation direction. Enum:</p><ul><li><code>transmit</code></li><li><code>receive</code></li><li><code>round-trip</code></li></ul>                                                                                                                                                                                                                                                                                                                                   | `round-trip`                               |
| `dns.question.name`                               | String        | The name being queried.                                                                                                                                                                                                                                                                                                                                                                                                                                                                | `www.example.com`                          |
| `network.prefix`                                  | String        | Specifies the BGP prefix, an IP address and subnet mask, used to identify the monitored network.                                                                                                                                                                                                                                                                                                                                                                                       | `203.0.113.0/24`                           |
| `network.as.path`                                 | String        | The AS path of the network route: a space-separated list of autonomous system numbers (ASNs) that represents the network route. The path starts with the BGP monitor (leftmost) and ends with the origin network of the prefix (rightmost).                                                                                                                                                                                                                                            | `15169 3356 64512`                         |
| `thousandeyes.monitor.id`                         | String        | The ID of the BGP monitor. The monitor collects BGP data from different Autonomous Systems (AS) around the world to understand how routes are being propagated.                                                                                                                                                                                                                                                                                                                        | `34567`                                    |
| `thousandeyes.monitor.name`                       | String        | The name of the BGP monitor.                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `Chicago, US (AS7018)`                     |
| `thousandeyes.monitor.location`                   | String        | The location of the BGP monitor.                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `Chicago, US`                              |
| `ftp.request.command`                             | String        | <p>FTP request method. Enum:</p><ul><li><code>GET</code></li><li><code>PUT</code></li><li><code>LS</code></li></ul>                                                                                                                                                                                                                                                                                                                                                                    | `GET`                                      |
| `thousandeyes.test.step`                          | Integer       | The API step ID.                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `3`                                        |
| `thousandeyes.source.agent.network.address`       | String        | The public IP address of the source agent.                                                                                                                                                                                                                                                                                                                                                                                                                                             | `198.51.100.23`                            |
| `thousandeyes.source.agent.local.network.address` | String        | The local network address of the source agent.                                                                                                                                                                                                                                                                                                                                                                                                                                         | `10.0.1.25`                                |
| `thousandeyes.source.agent.os.type`               | String        | The operating system type of the source agent.                                                                                                                                                                                                                                                                                                                                                                                                                                         | `Windows`                                  |
| `thousandeyes.source.agent.mac.address`           | String        | The MAC address of the source agent.                                                                                                                                                                                                                                                                                                                                                                                                                                                   | `00:1C:42:2E:60:4A`                        |
| `thousandeyes.source.agent.connection.type`       | String        | <p>The source agent's connection type. Enum:</p><ul><li><code>Wireless</code></li><li><code>Ethernet</code></li><li><code>Modem</code></li></ul>                                                                                                                                                                                                                                                                                                                                       | `Wireless`                                 |
| `thousandeyes.source.agent.network.org`           | String        | The name of the network to which the source agent belongs.                                                                                                                                                                                                                                                                                                                                                                                                                             | `Example ISP`                              |
| `thousandeyes.source.agent.network.as.number`     | String        | The AS number of the source agent’s network.                                                                                                                                                                                                                                                                                                                                                                                                                                           | `15169`                                    |
| `thousandeyes.source.agent.network.as.name`       | String        | The AS name of the source agent’s network.                                                                                                                                                                                                                                                                                                                                                                                                                                             | `GOOGLE`                                   |
| `vpn.vendor`                                      | String        | The vendor of the VPN.                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | `Cisco AnyConnect`                         |
| `client.address`                                  | String        | The IP address of the client.                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `192.0.2.14`                               |

### Datapoint Attributes

| **Key**                     | **Data Type** | **Description**                                                                                                                                                                                 | **Example** |
| --------------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------- |
| `error.type`                | String        | Describes the class of error the operation ended with.                                                                                                                                          | `timeout`   |
| `http.response.status_code` | Integer       | HTTP response status code.                                                                                                                                                                      | `200`       |
| `ftp.response.status_code`  | Integer       | FTP response status code.                                                                                                                                                                       | `226`       |
| `sip.response.status_code`  | Integer       | SIP response status code.                                                                                                                                                                       | `200`       |
| `target.type`               | String        | <p>The category of the local network, which can be one of the following:</p><ul><li><code>DNS</code></li><li><code>Proxy</code></li><li><code>Gateway</code></li><li><code>VPN</code></li></ul> | `DNS`       |
| `marker`                    | String        | A marker represents a step within a user journey or business transaction in a Web Transaction test.                                                                                             | `Login`     |

### Tags as Attributes

ThousandEyes converts [tags](https://developer.cisco.com/docs/thousandeyes/list-tags/) from tests and associated Cloud and Enterprise Agents into OpenTelemetry `Resource` attributes. Each tag consists of a `key` and a corresponding `value`.

All tags are streamed as attributes unless they contain characters that are not compliant with the[OpenTelemetry naming conventions for attributes](https://opentelemetry.io/docs/specs/semconv/general/naming/#recommendations-for-application-developers). Non-compliant tags are excluded from the `Resource` attribute.

When a tag is converted to an attribute, some tags may have multiple values or be shared between tests and agents. These cases are handled as follows:

* **Single value**: If a tag key has only one value, the attribute is represented as a `string`.
* **Multiple values**: If there are several values for the same key, the attribute value will be represented as an array containing the `string` elements that are the values associated with the tag's `key`.
* **Shared tags**: If tests and Cloud and Enterprise Agents are assigned to the same *tag*, the unique set of values are provided as attribute values.

#### Example

Consider the following scenario:

* A stream is configured with test `1234` and the following tags:
  * `branch:sfo`
  * `branch:nyc`
  * `team:netops`
* The following tags are associated with test `1234`:
  * `branch:sfo`
  * `branch:nyc`
  * `team:netops`
  * `cluster:analytics`
* The following tags are associated with the source agent used by test `1234`:
  * `branch:sfo`
  * `location:us`

The resulting attributes would be structured as follows:

```
{
  resource_metrics {
    resource {
      attributes {
        key: "branch"
        value {
          array_value: {
            values: [
                {
                  string_value: "sfo"
                },
                {
                  string_value: "nyc"
                }
            ]
          }
        }
      }
      attributes {
        key: "team"
        value {
          string_value: "netops"
        }
      }
      attributes {
        key: "cluster"
        value {
          string_value: "analytics"
        }
      }
      attributes {
        key: "location"
        value {
          array_value: {
            values: [
              {
                string_value: "us"
              }
            ]
          }
        }
    }  
  }
} 
```

**Notes**:

* The `branch:sfo` tag is not added twice to the `Resource` because the key-value pair already exists in the attributes.

{% hint style="info" %}
Note that not all observability platforms accommodate the use of string arrays for attribute values. For instance, New Relic and Splunk Observability Cloud do not support this format. If your backend does not support string arrays for attributes, the tag attribute is excluded from the metric or the whole datapoint is excluded.
{% endhint %}

## Metric Unit

| **Name**                 | **Value**   | **Type** |
| ------------------------ | ----------- | -------- |
| Count                    | `1`         | Integer  |
| Error Count              | `1{error}`  | Integer  |
| (BGP) Path Changes Count | `1{PC}`     | Integer  |
| (BGP) Updates Count      | `1{update}` | Integer  |
| Score                    | `1{score}`  | Double   |
| Milliseconds             | `ms`        | Double   |
| Seconds                  | `s`         | Double   |
| Percentage               | `%`         | Double   |
| Bytes-per-second         | `B/s`       | Integer  |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.thousandeyes.com/product-documentation/integration-guides/opentelemetry/data-model/data-model-v2/metrics.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
