当前位置: 首页 > 知识库问答 >
问题:

如何对apache camel路线的部分进行计时?

宋望
2023-03-14

我有一个camel应用程序,它在路由生成器中定义了许多路由。其中一个路由有一个xslt管道,我想记录Splunk中的性能。日志的格式需要为:

PerformanceDetailResultMs=<numberOfMsTheXsltsTook>

我尝试执行以下操作,但没有成功,因为system.CurrentTimeMillis()的结果被spring保留,因此当routeBuilder类执行时,当时提取的任何值都被保留:

from(direct:somewhere)
    //... other things
    .setProperty(START_TIME, simple(Long.toString(System.currentTimeMillis()), Long.class))
    .to("xslt:templates/bop1.xslt?saxon=true")
    .to("xslt:templates/bop2.xslt?saxon=true")
    .to("xslt:templates/bop3.xslt?saxon=true")
    .to("xslt:templates/bop4.xslt?saxon=true")
    .to("xslt:templates/bop7.xslt?saxon=true")
    .to("xslt:templates/bop8.xslt?saxon=true")
    .to("xslt:templates/bop9.xslt?saxon=true")
    .to("xslt:templates/premGen1.xslt?saxon=true")
    .to("xslt:templates/premGen2.xslt?saxon=true")
    .setProperty(END_TIME, simple(Long.toString(System.currentTimeMillis()), Long.class))
    .log("PerformanceDetailResultMs=${exchangeProperty." + END_TIME + "} - ${exchangeProperty." + START_TIME + "}")
    //... other things

什么是正确的“骆驼方式”来计时一个操作子集,以便我可以输出一个日志语句,如下所示:

PerformanceDetailResultMs=489234

共有1个答案

井旺
2023-03-14

我想到的一件简单的事情是

.process(exchange->exchange.setProperty(START_TIME,System.currentTimeMillis()))
 类似资料:
  • 问题内容: 所以,我有一张表,上面有这样的行: 每次扫描警报时(即每次触发或清除警报时)都会添加“已扫描的警报”行。任何警报都会添加带有特定Ev_Custom1的行。第一列Ev_Message包含一个计算机ID,该ID使我可以将警报与其他计算机分开。(您不喜欢任意的列名吗?)超过900条独特的警报消息。 我希望查询返回的内容是这样的: 这将是两个日期之间过滤的查询。我可以更改进入表的数据,但是有9

  • 在scikit learn中,您可以使用 我只对曲线中假阳性率小于0.1的部分感兴趣。 给定这样一个阈值假阳性率,如何仅计算阈值以上曲线部分的AUC? 以下是一个具有多条ROC曲线的示例,用于说明: scikit学习文档展示了如何使用roc_曲线 有没有一种简单的方法可以从这个到部分AUC? 似乎唯一的问题是如何计算fpr=0.1时的tpr值,因为roc_曲线不一定给出该值。

  • 我有app,我有很多不同风格的按钮组件(我特意把它分开,以提高可读性),例如:普通、概述、文本、链接和其他。我想创建一个特殊的组件,在其中我将传递prop,component将返回我需要的按钮组件。现在我制作了这个组件,但我必须传递我可能不需要的道具。我如何解决这个问题,或者你知道分组的不同实现方式? 分组组件:

  • 我从基于apache-camel-spark的rest接口获得一个json数组作为输入。开始时,我想通过apache camels路线分割json-array来处理每个元素。我该怎么做? 我的测试输入json: 对于这个问题,我在stackoverflow上找到了一些间接描述的问题: link 1, link 2, link 3。 根据这些示例,我尝试了以下骆驼路线: 当我这样做时,我总是得到以下

  • 问题内容: 给出: 给出: 是否有准备使用的库/代码来完成它? 问题答案: 您将无法使用JSON.stringify序列化事件对象,因为事件对象包含对DOM节点的引用,并且DOM在各处都有循环引用(例如,子/父关系)。JSON默认情况下无法处理这些,因此您有点不走运。

  • 部分排序可以通过std::Partial_sort完成。 部分排序方式 5 7 4 2 8 6 1 9 0 3 在对3个元素进行部分排序之后 0 1 2 7 8 6 5 9 4 3 http://en.cppreference.com/w/cpp/algorithm/partial_sort. 但当某些元素已经排序时,这不是最好的。 还有其他这样的函数可以这样做并利用部分排序数组。