WF 4.0 beta1中的跟踪机制
简单的说,跟踪服务是用来查看工作流的执行情况的功能。WF跟踪基础结构会检测工作流执行时发出的一些关键事件,并进行记录。例如,工作流在启动或完成时,就会发出跟踪记录。跟踪也可以提取与工作流变量相关联的业务相关数据。
例如,如果工作流表示一个订单处理系统,那么订单ID就可以随同跟踪记录一起被提取出来。一般来说,启用了WF跟踪能使整个工作流的诊断或业务分析变得轻松。对那些熟悉于WF 3.x中的跟踪的朋友来说,跟踪组件就等价于WF 3.x中的跟踪服务。在WF 4.0中,WF跟踪功能的性能得到了改善,并且简化了其编程模型。下图显示了跟踪基础结构的高级架构图:
跟踪基础结构的主要组件包括:
- 跟踪记录(Tracking Records):从工作流运行时发出。
- 跟踪配置(Tracking Profile):用来筛选从工作流实例中发出的跟踪记录。
- 跟踪参与者(Tracking Participants):用来订阅跟踪记录。跟踪参与者包括处理来自跟踪记录的负载的逻辑(例如,这个逻辑可能是将跟踪记录写到文件中)。
工作流跟踪基础结构采用了观察者模式。工作流实例是跟踪记录的发布者,而跟踪记录的订阅者则注册为工作流的扩展。这些订阅了跟踪记录的扩展被就被称为跟踪参与者。跟踪参与者作为扩展点,允许工作流开发人员来消费并处理跟踪记录。跟踪基础结构允许应用去筛选传出的跟踪记录,然后参与者就可以订阅记录的子集了。筛选的应用机制是通过跟踪配置。
通过检测工作流运行时发出的跟踪记录来跟踪工作流实例的执行过程。传出的跟踪记录类型包括:
- 工作流实例跟踪记录:工作流实例记录表述了工作流实例的生命周期。举例来说,工作流会在启动或完成时发出一条记录。
- 活动跟踪记录:活动跟踪记录会在工作流活动执行时发出。这些记录指示了工作流活动的状态(也就是说,工作流被计划执行、工作流完成、或者抛出错误)。
- 书签(Bookmark)恢复跟踪记录:书签恢复记录跟踪了所有成功恢复的书签。
- 用户跟踪记录:工作流创作者可以在自定义工作流活动中创建自定义跟踪记录,并在该活动中发出这些记录。自定义跟踪记录在发出的同时还可以包含数据。
WF 4.0提供了一个开箱即用的基于跟踪参与者的ETW (Event Tracing for Windows) 。ETW跟踪参与者会将跟踪记录输出到ETW会话中。此参与者是以工作流服务的形式,通过在配置文件中添加一个特定的跟踪行为来配置的。启用ETW跟踪参与者后,就允许在事件查看器中查看跟踪记录。后续的文章中还会详细介绍基于ETW的跟踪参与者的使用方法。学习SDK sample for ETW based tracking 是熟悉使用基于ETW的跟踪参与者的一个不错的方法。
在将来的文章中,我们还会更加深入的讨论WF跟踪。这些文章将会包括跟踪配置和跟踪记录、ETW跟踪参与者、编写自定义跟踪参与者、变量提取和统一的跟踪(Tracking)和追踪(Tracing)。
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击