我是 Streambase 的新人,所以我对 Streambase 的了解还不是很多。我想知道 Streambase 的处理速度有多快。所以,我认为我应该创建一些可以计算执行时间的东西,也许产生的输出可以是秒或毫秒。Streambase 中是否有可以计算程序执行时间的功能?如何使用它?如果没有,如何知道 Streambase 中的执行时间?我需要它,所以请帮我解决它。如果使用的语法很糟糕,我很抱歉。
1 回答
您可以使用 sbmonitor 或 sbmanager 工具以 CPU 时间或每个 StreamBase EventFlow 运算符的经过时间来查看每个元组的 uSec 数。这将使您大致了解正在发生的事情的数量级。
如果您想很好地测量通过给定应用程序的某些关键任务流的延迟,我们强烈建议您在输入元组中添加一个 nanotime() 时间戳,使其尽可能靠近摄取点,然后再添加一个 nanotime()时间戳尽可能靠近出口点。然后,在出口点添加一个 Map 以仅提取时间戳和每条消息的 id,并使用压缩的 CSV 或二进制文件写入器将这些统计信息记录到磁盘。然后通过您的应用程序尽快重放一组记录的数据来捕获这些原始统计数据。获得统计数据后,使用 TIBCO Spotfire 或 PyData 等分析包查看结果并绘制图表。
这听起来有点工作,而且确实如此。有条不紊的 CEP 性能测量、分析和报告不适合胆小的人。做坏事太容易了。
BTW Seconds 对于您的普通 StreamBase CEP 程序来说是永恒的。对于精心设计的 EventFlow 应用程序,您希望以少量毫秒或数百微秒的端到端延迟进行交谈。
披露/免责声明:我是 TIBCO Software, Inc. 的员工。此处表达的观点是我自己的观点,与 TIBCO 无关。