繁体   English   中英

哪种 Azure 指标聚合类型返回十进制值?

[英]Which Azure metrics aggregation type returns decimal values?

我正在使用 Azure 指标来评估我的 Azure 资源的健康程度,方法是收集资源的每个指标的默认聚合类型。 我可以看到 SDK 的 Microsoft.Azure.Management.Monitor.Fluent.Models 命名空间中的 MetricValue 类将为所有聚合类型返回 double 类型的值。

namespace Microsoft.Azure.Management.Monitor.Fluent.Models
{
    public class MetricValue
    {
        public MetricValue();
        public MetricValue(DateTime timeStamp, double? average = null, double? minimum = null, double? maximum = null, double? total = null, double? count = null);

        public DateTime TimeStamp { get; set; }
        public double? Average { get; set; }
        public double? Minimum { get; set; }
        public double? Maximum { get; set; }
        public double? Total { get; set; }
        public double? Count { get; set; }
        public virtual void Validate();
    }
}

我的问题是(考虑到双重数据类型),所有服务的所有 Azure 指标实际上都有机会返回十进制值吗? 我可以看到服务总线指标中的消息计数有时会返回十进制值。 我没有找到与我的问题相关的特定文档来澄清。 谢谢。

因为 metric 可以是任何东西,而 MetricValue 是一种通用的通用类型/模式,它需要满足各种指标,有些需要尽可能高的精度、非常高或非常低的值(+ve 或 -ve),并且还需要保留在底层通用数据存储(例如 Azure Monitor)。 现在,虽然某些指标可能是整数,具体取决于上下文中的单位(例如,当您说我的请求花费了 300 毫秒时),但有些可能不是(例如,有 20.57 GB 可用磁盘空间)。 请记住,除了内置的 Azure 指标外,您的应用程序还可以自定义指标,这些指标可能是想象中的任何东西。 因此,为了容纳足够高的精度可能, double是选择。 这解释了平均值、最小值、最大值、总计。 但是为什么 Count 也是double ,我不完全确定,但最有可能容纳一个超高的数字,以防万一,我们不会因 int 或 long 而筋疲力尽。 或者它可能是一个时间窗口内的计数,可以是十进制(每分钟 10.6 个请求)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM