Apache nifi 如何在nifi中为自定义处理器启用SiteToSiteProgence报告?

Apache nifi 如何在nifi中为自定义处理器启用SiteToSiteProgence报告?,apache-nifi,Apache Nifi,我有一个自定义处理器,并启用了用于捕获事件的报告任务 但在SiteToSiteProgence报告任务中不会捕获自定义处理器的事件 抱歉,SiteToSiteProgence不支持所有处理器,那么我从哪里可以获得不支持SiteToSiteProgence报告的处理器列表 我可以为所有处理器启用它吗?默认情况下,站点到站点起源报告任务应收集并传输系统上的所有起源事件。您可以在RT上配置一些属性来控制发送的内容: 事件类型-允许使用逗号分隔的列表筛选收集的事件类型 组件类型-允许筛选使用正则表达式

我有一个自定义处理器,并启用了用于捕获事件的报告任务 但在SiteToSiteProgence报告任务中不会捕获自定义处理器的事件

抱歉,SiteToSiteProgence不支持所有处理器,那么我从哪里可以获得不支持SiteToSiteProgence报告的处理器列表


我可以为所有处理器启用它吗?

默认情况下,
站点到站点起源报告任务应收集并传输系统上的所有起源事件。您可以在RT上配置一些属性来控制发送的内容:

  • 事件类型-允许使用逗号分隔的列表筛选收集的事件类型
  • 组件类型-允许筛选使用正则表达式收集的组件事件
  • 组件ID—允许使用以逗号分隔的UUID列表筛选收集的组件事件
如果所有这些都设置为空(或您认为应该包括自定义处理器的值),我建议您按照以下步骤诊断问题:

  • 确保您可以使用源代码查看器在本地查看源代码事件。如果您使用的是自定义处理器,并且它扩展了
    AbstractProcessor
    ,那么将在框架级别为您提供源事件生成。但是,如果您不扩展该类,或者需要捕获框架无法自动检测到的
    发送
    接收
    事件,则必须使用如下代码手动记录这些事件
  • 如果您可以在本地看到起源事件,请确保未将
    站点上的设置设置为站点起源报告任务
    排除它们(上述设置或起始位置设置)#onTrigger()内手动记录起源事件的代码


    希望这些信息能有所帮助

    我还想补充一点,并非所有处理器都会产生出处事件。如果处理器不修改内容或属性,而只是将流文件路由到一个关系,则通常不会出现此事件的起源事件。框架负责处理大多数事件,处理器代码通常只需关心发送和接收事件,因为框架无法判断处理器何时与外部系统交互。开始位置为“流结束”,要排除的组件类型为“连接”剩下的是空的,自定义处理器正在将AbstractProcessorTry设置Start Position扩展到“流的开始”,并查看它是否发送任何其他事件。您是否验证了可以使用源代码查看器在本地查看预期的源代码事件?
    // Records a MODIFY_CONTENT event (given a stopWatch that was initialized before the work was performed)
    session.getProvenanceReporter().modifyContent(flowFile, stopWatch.getElapsed(TimeUnit.MILLISECONDS));