Amazon cloudwatch没有像实际文件中那样编写日志



我有一个JSON文档,其编号为18位。但在cloudwatch日志中,这些数字是四舍五入的,因此以两个零结尾。实际JSON片段:

{
  "prd_slnos": [
    {
      "start": 893800399235546485,
      "end": 893800399235546490
    }
  ]
}

Cloudwatch片段:

{
  "prd_slnos": [
    {
      "start": 893800399235546400,
      "end": 893800399235546400,
    }
  ]
}

度量的值。

类型:Double

http://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html

这里的数据类型是双精度浮点数,这是一个64位的数字,它支持比64位整数大得多的范围的可能值,但代价是精度。根据数值的不同,最多有15-17位精度可用。

通过手工计算,我得出了以下值,作为与给定输入数字最接近的数字,当数字表示为双精度时。我得到了一个与CloudWatch显示的值略有不同的值,可能是因为我从0四舍五入,它们向0四舍五入,但你可以看到这意味着——两个不同的数字都有相同的最接近的可能数字,可以用双精度编码表示,这使得这两个数字看起来不仅相等,但正如你所看到的,也"四舍五入"。这是双精度编码的一个限制——不是每个数字都可以表示。

# original value      # nearest number in double-precision encoding
893800399235546485 -> 893800399235546600
893800399235546490 -> 893800399235546600

Cloudwatch的行为似乎与记录一致。

最新更新