Metric.TryGetDataSeries返回false,尽管遵守尺寸上限

问题描述 投票:0回答:1

我正在尝试使用Metric.TryGetDataSeries方法(在此处记录:https://docs.microsoft.com/en-us/dotnet/api/microsoft.applicationinsights.metric.trygetdataseries?view=azure-dotnet#Microsoft_ApplicationInsights_Metric_TryGetDataSeries_Microsoft_ApplicationInsights_Metrics_MetricSeries__System_Boolean_System_String___)来获取一个MetricSeries,然后可以将其用于发送度量,如下所示:

MetricSeries series;
bool canTrack = metric.TryGetDataSeries(out series, true, dimensionValuesWithCanvasId.ToArray());
if (canTrack)
{
    series.TrackValue(value);
}
else
{
    throw new Exception($"Failed to track value for metric with dimensions: {string.Join(",", this.dimensionNames)}");
}

但是,我们的日志记录显示我们始终看到异常。日志示例:无法创建尺寸为:文件名,StreamSzInKB,DataSourceId的度量DownloadReadDurationInMs。]​​>下面的日志屏幕截图可以很好地解决此问题:

Failed to create metric DownloadReadDurationInMs with dimensions: Filename,StreamSzInKB,DataSourceId.

换句话说,在某些情况下,我们看到TryGetDataSeries返回false。根据文档,该函数返回如下:

如果指定的尺寸名称指示MetricSeries,则为真可以检索或创建;如果指示的序列不能,则为假由于createIfNotExists为false或因为达到了尺寸上限或公制系列上限。

显然createIfNotExists == true,因此必须是“已达到尺寸上限或指标系列上限”。但是,如果我们查看日志,则有3个维度,因此我也不认为超出了任何上限(尽管我不知道在哪里可以验证这一点-“系列上限”也是如此)。

所以,问题:

  1. 这些尺寸/系列盖的确切值是多少?
  2. 假设我没有超出上限(基于日志,似乎我在上限之内,这里还有其他可能出错的地方吗?

我正在尝试使用Metric.TryGetDataSeries方法(在此处记录:https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.applicationinsights.metric.trygetdataseries?view=azure-dotnet#。 。

azure azure-application-insights metrics
1个回答
0
投票

有人指出我该文档(仅在3周前添加!)https://docs.microsoft.com/en-us/azure/azure-monitor/app/get-metric#dimension-and-time-series-capping,其中详细说明了有关尺寸和系列盖的信息。

© www.soinside.com 2019 - 2024. All rights reserved.