我在应用程序中使用Azure服务(AppService、AppInsight)

此外,我还实现了我的项目int .net Core6

我正在使用Microsoft.ApplicationInsights.AspNetCore库(版本2.22.0)

我在appsetting.json中的Application Insight配置如下所示

  "ApplicationInsights": {
     "ConnectionString": "InstrumentationKey=a91c943b-5268-42e1-80c3-dc03c5e9bf0c;IngestionEndpoint=https://easteurope.in.applicationinsights.azure.com/;LiveEndpoint=https://easteurope.livediagnostics.monitor.azure.com/"
 }

我注册了Application insight服务,如下所示:

builder.Services.AddApplicationInsightsTelemetry();

我的准则是

private readonly TelemetryClient telemetryClient;

public SaveMetricsUseCase(TelemetryClient telemetryClient)
{
    this.telemetryClient = telemetryClient;
}

...

private void SaveMetrics() {

   telemetryClient.GetMetric("ProjectName.PromptTokens", "CategoryId", "Model", "UserId")
      .TrackValue(input.Prompt, input.CategoryId, input.ModelName, input.UserId);

   telemetryClient.GetMetric("ProjectName.CompletionTokens", "CategoryId", "Model", "UserId")
      .TrackValue(input.Completion, input.CategoryId, input.ModelName, input.UserId);
}

每当我在AppService上部署我的更改时,自定义指标都会被正确保存,但在one hour之后,指标就会停止存储,并且我再也无法在App Insight门户中看到任何指标(其他日志(log)和异常都没有问题地保存在AppInsight中,只有指标不再存储)

Have you any idea what the problem might be?

推荐答案

SOLVED

该问题与MetricConfiguration中的valuesPerDimensionLimit属性有关,基于Microsoft documentation,每个维度的唯一值都有一个限制.当我们使用TrackValue与不同的尺寸值(超过限制)时,轨道将不再被保存.

Csharp相关问答推荐

.NET通过版本自动增量设置包版本

获取Windows和Linux上的下载文件夹

在包含空项的列表上使用具有断言T的摘要表

我可以 suppress 规则CS 9035一次吗?

向类注入一个工厂来创建一些资源是一个好的实践吗?

LINQ无法翻译SQLFunctions方法

. NET 8使用COM向VB6公开

如何在C#中使用正则表达式抓取用逗号分隔的两个单词?

Azure Redis缓存与Entra ID身份验证

使用Orleans进行的单元测试找不到接口的实现

如何通过属性初始化器强制初始化继承记录内的属性?

JSON串行化程序问题.SQLite中的空值

使用未赋值的、传递的局部变量

用MongoDB c#驱动程序删除和返回嵌套数组中的文档

在平行内使用跨度.用于循环

为什么我的自定义Json.net转换器不工作?

如何在单击按钮后多次异步更新标签

C#中使用ReadOnlySpan的泛型类型推理

使用postman 测试配置了身份的.NET 6应用程序

如果图表S批注包含使用LINQ的具有特定名称的批注,我如何签入C#