问题标签 [event-flow]

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.

0 投票
1 回答
1384 浏览

c# - 在 EventSource 中使用 System.Exception 对象

我正在尝试使用事件源 (Microsoft.Diagnostics.EventFlow.Inputs.EventSource) 创建由事件流 (Microsoft.Diagnostic.EventFlow) 处理的事件,并将其输出传递给 Application Insights (Microsoft.Diagnostics.EventFlow) .Outputs.ApplicationInsights)进行分析。

事件流库似乎要求我将完整的 System.Exception 对象传递给事件流,以便在 Application Insights 中成功地将其分类为异常事件。

这是我在事件流中为我的异常使用的过滤器:

这是我目前正在生成希望通过事件流处理的事件的方法。目前,这确实出现在应用程序洞察力中,但是我相信我的实现很糟糕,因为我在运行时在输出窗口中看到下面的消息。

Event 方法的参数与 WriteEvent 方法的参数不匹配。这可能会导致事件显示不正确。

这是触发日志事件的方法:

任何人都可以清楚地说明实现这一点的正确方法以及通过事件流和 Onto Application Insights 传递 System.Exception 对象的正确方法是什么。

非常感谢。

0 投票
1 回答
672 浏览

azure - Application Insights 中的 Service Fabric 性能计数器

我正在尝试将性能数据(即 CPU 和内存使用情况)从我的服务结构节点发送到 Azure Application Insights。但是,它们似乎没有出现在我的应用程序洞察指标资源管理器中。

性能计数器已成功发送到 Azure 存储表 (WADPerformanceCountersTable),但不会传播到应用程序洞察以进行分析。

这是我的资源文件的 WAD Config 部分,用于部署我的服务结构应用程序:

为了成功接收这些性能计数器,我从这个部署文件中遗漏了什么吗?我是否缺少任何其他必需的步骤?

谢谢。

0 投票
1 回答
630 浏览

c# - 使用 EventFlow 监控本地机器上的 ETW 事件

我正在尝试设置一个简单的 ETW 和EventFlow示例,以允许监视特定的 ETW 提供程序。在这种情况下,服务控制管理器 ETW 提供程序将监视何时发出服务启动和停止消息。

我有以下用于跟踪和 ETW 的输入配置。

我有以下代码使用 EventFlow 启动监控。

跟踪事件出现在控制台中,但是当我启动和停止服务时,没有出现 ETW 事件。

EventFlow 是为本地机器上的这种场景设计的吗?如果是这样,我的配置或代码中缺少什么?

控制台进程以管理员身份运行,并且该帐户有权访问 Performance Log Users 和 Performance Log Monitors 组

0 投票
1 回答
129 浏览

c# - Microsoft.Diagnostics 与 Microsoft.Diagnostics.EventFlow 中的 PerformanceCounter

我计划将 PerformanceCounter 用于我的一个项目。我只知道 Microsoft.Diagnostics。然而,我在官方 Microsoft Azure 项目下偶然发现了一个相当新的库Microsoft.Diagnostics.EventFlow,它似乎提供了类似的功能。

我不熟悉 Azure 服务及其库,因此如果这两个库完全正交,我深表歉意。

0 投票
2 回答
892 浏览

azure-service-fabric - 从本地服务结构将日志写入应用程序洞察

我正在尝试将 Azure App 洞察服务集成到服务结构应用程序中以进行日志记录和检测。我在本地 VM 上运行结构代码。我完全按照这里的文档[场景 2]。docs.microsoft.com 上的其他资源似乎也表明了相同的步骤。[例如:https ://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-diagnostics-event-aggregation-eventflow 出于某种原因,我在 App 洞察力中看不到任何事件条目。当我这样做时,代码中没有错误:

eventflowconfig.json 内容

在 ServiceEventSource.cs

编辑 从结构状态服务中的“Program.cs”添加诊断管道代码

0 投票
1 回答
612 浏览

c# - EventFlow 自定义输出中的依赖注入

我正在使用 EventFlow 来跟踪 ETW 事件。为此,我创建了一个充当侦听器的 ASP Net Core 服务。我已经在我的配置文件中配置了我自己的自定义输出。这些是我的输出和输出工厂类:

此 CustomOutput 仅在启动时(创建 EventFlow 管道时)实例化一次,并用于所有事件。主要方法是这样的:

配置文件 eventFlowConfig.json 中引用了输出和工厂输出类型:

参考:使用 EventFlow 进行事件聚合和收集

因此,实例是在我的 Program 类的 main 方法中创建的,即在调用我的 Startup 配置方法之前。

如果容器在实例化时仍然不存在,我如何从我的输出类访问我的依赖容器服务?

目前,我创建了一个 IServiceCollection 类型的静态属性,并从我的 Startup 配置方法(使用 setter 注入)中设置了它。我不喜欢这个解决方案,因为我不应该对服务使用静态访问,但我不知道其他解决方案。这是一个有效的做法吗?

0 投票
2 回答
1362 浏览

asp.net - 带有 EventFlow 配置的 ASP.NET Core 2

EventFlow 关于如何在基于 dotnet core 1 的 dotnetcore 上进行配置的示例非常有限,并且事情发生了一些变化,但在 dotnet core 2 中

有没有办法在没有 Autofac 的情况下使用 EventFlow 配置?

有关于这里的讨论,最后的评论是关于我在这里问的同样的事情,但没有答案

https://github.com/eventflow/EventFlow/issues/158

基本上我想找到一种方法来使用 DI 中的构建来做一些事情,比如

或者

或者……你们用过的其他什么东西?

0 投票
2 回答
2298 浏览

c# - 当我在 ServiceFabric 群集上使用 EventFlow 侦听 ETW 事件时出现“系统资源不足”

我有一个使用在 Service Fabric 上运行的 EventFlow 的 ETW 侦听器。

这是我的配置文件(eventFlowConfig.json):

这是我的切入点:

当我在调试时在本地集群中多次启动/停止我的服务时,我得到了这个异常:

在重新启动计算机之前,我无法重新启动服务。问题是我在本地以外的其他环境中遇到了同样的异常。

我试过这个:ServiceFabric 应用程序中的 TraceEventSession 使用引发资源不足错误:我的服务是无状态的,并且只有一个节点实例。

此配置是否足以释放/重用 ETW 会话?

有没有其他人遇到过这个问题?

编辑 在@Diego Mendes 的回答之后,我已经执行了这个logman -ets

EventFlow 忽略了我sessionNamePrefix并用EventFlow-EtwInput? 可能是 EventFlow 的错误?

我会尝试EventFlow-EtwInput用作我的sessionNamePrefix.

0 投票
1 回答
264 浏览

.net - EventFlow 未在 ApplicationInsight 门户上显示正确的遥测类型。相反,它们显示为 TRACE

在我的示例项目中,我使用 EventFlow 来收集我的诊断数据并输出到 ApplicationInsight。日志记录也是通过 ApplicationInsight 完成的。诊断数据显示在 ApplicationInsight 门户上,但所有遥测类型都显示为 TRACE(即使诊断发送的遥测类型为 REQUEST)。但如果我直接使用 ApplicationInsight 登录(没有 EventFlow),它将在 ApplicationInsight 中正确显示正确的遥测类型。下面是我使用的 EventFlow 配置文件和示例代码。

顺便说一下,我的示例应用程序是 ASP.NET Core2 Web API。

eventFlowConfig.json

示例代码

在这里,我附上了 ApplicationInsight 的屏幕截图以更清晰。这里它有一些遥测类型为 REQUEST 的诊断数据,但即使是那些也显示为 TRACE。

ApplicationInsight 屏幕截图

0 投票
1 回答
141 浏览

c# - 在 EventFlow 中,如何弃用整个聚合?

在 EventFlow 应用程序中,我想完全删除一个聚合并将其所有事件转移到另一个。生成的聚合将具有与第一个聚合不同的名称、ID 和事件。

我找到有关使用 IEventUpgrader 类进行事件升级的文档,但它要求传入和生成的事件具有相同的聚合和 id 类,因此它不能解决我的问题。

浏览源代码我发现了“IEventUpgradeManager”类,看起来它可能有效,但我找不到任何关于它的文档。

我可以手动编辑数据库中每个事件的元数据,但这似乎不是一种可持续的方法。在这种情况下,正确的解决方案是什么?