I'm a new comer in Streambase, so I still not many know about Streambase. I want to know how fast the process that do by Streambase. So, I think I should create something that can calculate the execution time and maybe the output that produced can be seconds or miliseconds. is there a feature in Streambase that can calculate program execution time? how to use it? if no, how to know the execution time in Streambase? I need it, so please help me to solve it. I'm sorry if the grammer that used is so bad.
1 Answers
you can use the sbmonitor or sbmanager tools to look at the number of uSecs per tuple either in CPU time or elapsed time per StreamBase EventFlow operator. This will give you a general idea of the order of magnitude of what's going on.
If you want to do a good job of measuring the latency across certain mission-critical flows through a given application, we strongly recommend adding a nanotime() timestamp to your input tuples as close to the ingestion point as possible, and another nanotime() timestamp as near to the exit point as possible. Then, add a Map at the exit point to just extract the timestamps and maybe an id per message and record those statistics to disk using a compressed CSV or binary file writer. Then capture these raw statistics by replaying a set of recorded data through your application as fast as possible. Once you have the statistics, use an analysis package such as TIBCO Spotfire or PyData to take a look at your results and maybe graph them.
This sounds like a bit of work, and it is. Methodical CEP performance measurement, analysis, and reporting is not a job for the faint of heart; it's too easy to do a bad job of it.
BTW Seconds is an Eternity for your average StreamBase CEP program. You want to talk in small numbers of milliseconds or maybe hundreds of microseconds of latency end-to-end for a well-designed EventFlow application.
Disclosure/Disclaimer: I am an employee of TIBCO Software, Inc. Opinions expressed here are my own and not TIBCO's.

- 105
- 9