问题标签 [ms-tracing-eventsource]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 是否可以让 SLAB 与 Microsoft.Diagnostics.Tracing.EventSource 一起使用?
官方发布说明说:
改进了与 EventSource nuget 包的兼容性
- SLAB 的源必须更新和重建才能与 EventSource nuget 包(支持通道,但不支持采样)一起使用。这个过程现在相当轻松。
- 向所有项目添加了对 EventSource nuget 包的引用
- 在所有源文件中更改
System.Diagnostics.Tracing
为Microsoft.Diagnostics.Tracing
- 在单元测试项目中定义了 EVENT_SOURCE_PACKAGE 常量(以禁用可能无法使用 nuget 版本的测试)。
这有点神秘。Microsoft.Diagnostics.Tracing
有些东西似乎倒退了,因为我在 Nuget 下载中根本看不到任何引用。
或者是你必须做的子项目来构建它(所以它应该说,添加、更改、定义而不是添加、更改、定义)?
嗯,这些说明(如果它们是说明)是不够的:
Microsoft.Diagnostics.Tracing
已经引用了三个地方,因此会给出重复的警告Microsoft.Practices.EnterpriseLibrary.SemanticLogging.Etw.Configuration.EventSourceSettings
在(这是一个类)和Microsoft.Diagnostics.Tracing.EventSourceSettings
(这是一个枚举)之间有多个地方出现歧义。
c# - Microsoft.Diagnostics.Tracing.EventSource 不尊重为 None 启用 EventListener 的关键字
我有一个派生自 的事件源EventSource
和一个派生自 EventListener 的事件侦听器。
我调用EnableEvents
EventKeywords 参数中的事件侦听器,但侦听器也会为任何没有关键字的事件调用。
这是预期的行为吗,有什么解决方法(除了为我的所有事件发明虚拟关键字之外?)
.net - 事件源、清单、事件查看器和 WS 2008 R2
我有一个Microsoft.Diagnostics.Tracking.EventSource
using Channel = EventChannel.Admin
:生成的清单在我尝试过的两台 W7 机器上安装并运行良好,但是在 2008 R2 上,当我在 EventViewer 中向下钻取时,我得到 MMC 管理单元错误,我可以看到事件是未“识别”(“找不到 blabla 的描述......”)。
奇怪的是,如果我卸载清单,EventViewer 可以毫无例外地打开事件文件(尽管仍然找不到正确的描述)。
EventSource
清单文件是否有特定于操作系统的内容?
我应该搜索的方向的任何指针?
c# - 如何在 Microsoft.Diagnostics.Tracing.EventSource 中正确定义关键字?
我正在使用Microsoft.Diagnostics.Tracing.EventSource nuget 包将事件写入事件日志。在继承自EventSource的自定义类中定义关键字时,如下所示:
我得到一个包含以下 xml 的清单文件:
我不明白会话关键字的来源。这很烦人,因为当我使用以下代码生成事件时,这些神奇地创建的关键字会出现在事件日志中:
所记录消息的关键字 read Session0,Session1,Session2,Session3,Perf
,它派生自事件 xml 中的关键字值<Keywords>0x4000f08000000000</Keywords>
。
我自己已经编写了一个清单文件(使用 ecmangen),在该清单中,关键字部分如下所示
这导致此事件 xml: <Keywords>0x8000000000000001</Keywords>
。这个结果显示得非常好。
c# - 如何记录和跟踪 .net 应用程序的异常
我的任务是在 .net 应用程序中记录和跟踪异常。目的是在部署应用程序后记录所有数据。并且信息应该易于追踪以处理错误。我们正在使用天蓝色服务。为了使问题陈述更清楚,这里有一些演示代码
现在我应该如何实现这个 ILogger 接口。我应该使用哪些服务?我没有这方面的经验,所以显然我对此并不了解。希望我已经清楚地说明了问题。
编辑:我不喜欢登录 .txt 文件的想法。这将包含数千条日志,因此不容易追踪。我正在寻找一些有助于处理的好框架。
c# - 单声道中没有应用程序跟踪吗?
这是我的项目结构:
我已经使用以下 mcs 命令手动编译了项目:
我什app.config
至将目标文件夹复制为ServiceClient.exe.config
下面是配置的样子:
但是当我运行时:
我没有看到任何跟踪输出...
.net - ETW 跟踪:在连续跟踪几天后,日志文件已损坏
我们使用 ETW 自定义事件源(继承自 Microsoft.Diagnostics.Tracing.EventSource,Microsoft.Diagnostics.Tracing.EventSource.Redist.1.1.28 来自 NUGET)来检测我们的应用程序。
我们的提供程序在可以捕获文件中的事件的会话中启用。下面是配置跟踪会话:
- 流模式:文件
跟踪缓冲区
- 缓冲区大小:512 KB
- 最小缓冲区:200
- 最大缓冲区:400
- 冲洗计时器:0 秒
文件:
- 日志模式:新文件(达到最大文件大小的新文件)停止条件:
最大大小:11MB
- 最大事件速率约为每秒几百个事件。
- 我们使用 Windows 服务器 2012 SP1。
有时我们会看到生成的 ETL 文件大小为 11MB(或有时更大),但它的事件为零。这主要发生在系统以最大事件率运行几天的可靠性服务器上。一旦发生这种情况,此后的所有日志文件都为零事件,此后我们将丢失所有事件。
尝试在 Windows 性能分析器中打开日志时,会显示以下错误消息。
这个问题很少重现。这使得尝试不同的试验和错误变得困难。
尝试的解决方案(无效):
- 将 Min 和 Max 缓冲区的数量分别减少到 24 和 48。
- 将冲洗计时器引入 10 秒。当事件率低时,这有一个缺点是创建 11MB 的日志文件并且事件很少。
有人遇到过这样的问题吗?请帮助。
event-flow - Microsoft.Diagnostics.EventFlow with Inputs.EventSource
I am trying to use EventSource with Microsoft.Diagnostics.EventFlow and I cannot make it output to the console. Here is an example where it works with Inputs.Trace but does not work with Inputs.EventSource:
myEventFLowConfig.json:
}
MyEventSource.cs
console app:
in the console app, I am using both EventSource and Trace as inputs, however only the Trace one is shown in the console. What am I doing wrong with the EventSource that it does not show up in the console?
Thanks!