gpt4 book ai didi

azure - Azure SDK 2.6 中缺少 ETW EventSource 表

转载 作者:行者123 更新时间:2023-12-03 00:14:32 25 4
gpt4 key购买 nike

我正在尝试使用 ETW 来记录 Azure SDK 2.6 中的多个自定义 EventSource 类。

使用计算/存储模拟器进行本地测试时,会显示三个我的自定义 WADMyEventXYZ 表;然而,最终的预期表“WADMyDataSets”似乎从未被创建。我应该如何确定导致此问题的原因?当连接调试器时,我没有看到计算模拟器出现任何错误,并且单步执行调试器中的代码表明 EventSource 上的 WriteEntry 确实被调用。其他表显示在开发人员存储帐户的 SchemasTable 中,但那里没有 WADMyDataSets 的条目。

我将 WADDiagnosticInfrastrureLogsTable 导出为 CSV 并在 Excel 中检查它,并看到以下引用“MyDataSets”的消息:

Validating table MyDataSets; DiskMB:451; RequiredQuota:451 RetentionSeconds:7776000 Pri:2 MinQuotaMB:0 RunningTotal:3757

Table does not exist

table C:\Users\Caleb\AppData\Local\dftmp\Resources\b316f531-f673-4db3-ac1c-e4649e289871\WAD0104\Tables\MyDataSets does not exist, CreationDisposition = 4

Table MyDataSets does not exist, will create a new one

Delaying the creation of table MyDataSets until the schema is known

稍后:

Converted EventSource provider name "MyDataSets" to {74a2b9c9-0bd8-547f-6cad-453da47055be}

Matched task with query id MyDataSetsQuery and regex ^MyDataSets$ to source table MyDataSets

Registering query MyDataSetsQuery_MyDataSets_XTableWadAccount:

Adding standard PkRk (MA) fields to 'MyDataSetsQuery_MyDataSets'

Successfully compiled the query 'MyDataSetsQuery_MyDataSets'

Added task MyDataSetsQuery_MyDataSets_WADMyDataSets_PT1M_XTableWadAccount from MyDataSets - Partitions:-1 Pri:normal TSPolicy:start StoreType:Central Repeat:2147483647 Timeout:3600s Deadline:300s DelayRange:0.00

稍后:

No checkpoint found for task MyDataSetsQuery_MyDataSets_WADMyDataSets_PT1M_XTableWadAccount after time 2015-05-13T00:44:21.000Z; retry time out is 3600 seconds

First scheduled task for MyDataSetsQuery_MyDataSets_WADMyDataSets_PT1M_XTableWadAccount is at 2015-05-13T01:44:00.000Z (plus a delay of 20s)

稍后:

Increasing query delay of task MyDataSetsQuery_MyDataSets_WADMyDataSets_PT1M_XTableWadAccount from 20 to 40 seconds to introduce randomness to the upload schedule

稍后:

Starting scheduled task MyDataSetsQuery_MyDataSets_WADMyDataSets_PT1M_XTableWadAccount from 2015-05-13T01:43:00.000Z to 2015-05-13T01:44:00.000Z; query delay 40 seconds

Table C:\Users\Caleb\AppData\Local\dftmp\Resources\b316f531-f673-4db3-ac1c-e4649e289871\WAD0104\Tables\MyDataSets does not exist

Ending scheduled task MyDataSetsQuery_MyDataSets_WADMyDataSets_PT1M_XTableWadAccount from 2015-05-13T01:43:00.000Z to 2015-05-13T01:44:00.000Z in 1ms

更新

相关事件源上有一个事件:

[Event(1)]
public void DataSetLoaded(string traceActivityId, string userId, string reportCode, long timeToLoadMs)

删除第四个参数“timeToLoadMs”会导致 WAD 事件表按预期显示。我尝试将最后一个参数更改为字符串,但它再次无法显示。事件方法的参数数量是否有记录限制?我很确定我见过具有四个参数的示例。

最佳答案

我将我的 Web 项目升级到 .NET 4.5.1,现在 WAD 表按预期显示(在此之前我一直在 .NET 4.5 上运行)。

使用 .NET 4.5.0 时,EventSource 事件上有 4 个参数似乎可能存在错误。

顺便说一句,在 4.5.1 中,我现在有了 System.Diagnostics.Tracing.EventSource.SetCurrentThreadActivityId 方法,该方法可以让我摆脱在事件输出中手动包含 CorrelationManager.ActivityId 的麻烦。

关于azure - Azure SDK 2.6 中缺少 ETW EventSource 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30204462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com