【问题标题】:Which Azure metrics aggregation type returns decimal values?哪种 Azure 指标聚合类型返回十进制值?
【发布时间】:2020-10-21 07:50:56
【问题描述】:

我正在使用 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 指标实际上是否有机会返回十进制值?我可以看到服务总线指标中的消息计数有时会返回十进制值。我没有找到与我的问题相关的特定文档来澄清。谢谢。

【问题讨论】:

  • 您是在问“为什么 Microsoft 选择使用小数表示计数?” ?
  • 我的问题是,所有 Azure 服务的所有指标是否真的有机会返回十进制值?我认为我们没有得到 Azure 函数的“请求”指标的十进制值。但是对于所有聚合类型,指定的数据类型都是 double。

标签: c# .net azure azure-functions azure-monitoring


【解决方案1】:

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

【讨论】:

  • 我得到十进制值的消息计数,例如 10.68。那么我是否可以考虑我们期望整数值度量也可以是十进制的任何机会?在您的示例中,您说“请求”是 300 毫秒。由于计数似乎是十进制的,有没有办法“请求”也可以作为十进制值返回?
  • 它可能是一个时间窗口内的计数,可以是十进制(每分钟 10.6 个请求)。你的日志查询是什么?
  • 这是我用来检索指标的参考链接:docs.microsoft.com/en-us/samples/azure-samples/…
  • 好吧,我认为这是因为查询中有时间粒度,例如“timeGrain eq duration'PT5M”,这意味着每 5 分钟计数一次,这可能是基于计算的十进制数(5 分钟内 10.68 个请求)一个更大的时期。
猜你喜欢
  • 2021-09-19
  • 2014-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-21
  • 2020-05-02
  • 2010-09-13
  • 1970-01-01
相关资源
最近更新 更多