

# 在 CloudWatch 中转换为 OpenTelemetry 1.0.0 格式
<a name="CloudWatch-metric-streams-formats-opentelemetry-translation-100"></a>

CloudWatch 会执行一些转换，将 CloudWatch 数据转换为 OpenTelemetry 格式。

**转换命名空间、指标名称和维度**

这些属性是在映射中编码的键值对。
+ 一个属性的键是 `Namespace`，其值是指标的命名空间
+ 一个属性的键是 `MetricName`，其值是指标的名称
+ 一个键值对的键是 `Dimensions`，其值是一个键值对嵌套列表。此列表中的每个键值对都映射到一个 CloudWatch 指标维度，其中键值对的键是维度的名称，其值是维度的值。

**转换平均值、总和、样本计数、最小值和最大值**

摘要数据点使 CloudWatch 能够使用一个数据点导出所有这些统计数据。
+ `startTimeUnixNano` 包含 CloudWatch `startTime`
+ `timeUnixNano` 包含 CloudWatch `endTime`
+ `sum` 包含总和统计数据。
+ `count` 包含样本数统计数据。
+ `quantile_values` 包含两个 `valueAtQuantile.value` 对象：
  + `valueAtQuantile.quantile = 0.0` 与 `valueAtQuantile.value = Min value`
  + `valueAtQuantile.quantile = 0.99` 与 `valueAtQuantile.value = p99 value`
  + `valueAtQuantile.quantile = 0.999` 与 `valueAtQuantile.value = p99.9 value`
  + `valueAtQuantile.quantile = 1.0` 与 `valueAtQuantile.value = Max value`

使用该指标流的资源可以按**总和/样本数**来计算平均值统计数据。

**转换单位**

CloudWatch 单位映射到计量单位统一代码区分大小写的变体，如下表所示。有关更多信息，请参阅[计量单位统一代码](https://ucum.org/ucum.html)。


| CloudWatch | OpenTelemetry | 
| --- | --- | 
|  秒 |  s | 
|  秒 |  s | 
|  微秒 |  us | 
|  毫秒 |  ms | 
|  字节 |  By | 
|  千字节 |  kBy | 
|  兆字节 |  MBy | 
|  千兆字节 |  GBy | 
|  千吉字节 |  TBy | 
|  Bits |  bit | 
|  千位 |  kbit | 
|  兆位 |  MBit | 
|  千兆位 |  GBit | 
|  太位 |  Tbit | 
|  百分比 |  % | 
|  计数 |  \$1Count\$1 | 
|  无 |  1 | 

由斜线组合而成的单位通过同时对斜线前后两个单位应用 OpenTelemetry 转换来进行映射。例如，字节/秒映射为 By/s。