I want to capture the number of tuples/sec through an operator and log it in a file. I can't use 'Throttle Operator' to set the tuple rate by myself. Also, to add again, I am not talking about capturing the information through console, but through SPL application.
Is there a way to capure tuple/sec through an operator in IBM Streams (not through Streams console)
135 Views Asked by Ankit Sahay At
1
There are 1 best solutions below
Related Questions in INFOSPHERE-SPL
- Can we use SPL time functions inside C++ operators?
- XML Parse operator throws error when working with large XML file in IBM Streams
- IBM Streams export/import operation within the instance versus between two instances
- JSON to Tuple operation in IBM Streams
- Setting IBM Streams instance properties and bringing that to effect without restarting the instance
- SFTP to another server using infosphere streams 3.2
- Working on migration of SPL 3.0 to 4.2 (TEDA)
- Is there a way to capure tuple/sec through an operator in IBM Streams (not through Streams console)
- Delayed deployment of InfoSphere Streams Operators and Runtime 'tags' deployment
- using Java custom operator within java API in infosphere streams
- Ibm streams Java operator classloading issue
- How to use RScript Operator with IBM Streams Java Application Api?
- How do we process two different input streams on onTuple of Custom() Operator of IBM InfoSphere Streams?
- I need to check range of mixed substring
- MQTTSource Operator compilation error in IBM Infosphere Streams
Related Questions in IBM-INFOSPHERE
- DataStage 11.7 : Aggregator compilation error
- trying to read first 9 positions of a Char(50) datatype column
- Spaces populating as 0 in the first postion in datastage(v8.5)
- DataStage server jobs are loading only 6-10 rows per second using DB2 stage in Database
- Unsure about InfoSphere 11.7 nulls handling
- SQLSTATE = 42S02: Native Error Code = -204: Msg = [IBM][CLI Driver][DB2/AIX64] SQL0204N "SYSIBMADM.ENV_INST_INFO" is an undefined name
- How to aggregate strings in multiple rows in IBM InfoSphere DataStage grouped by a given ID
- PostgreSQL Table data auto purging through Datastage Job
- Bulk edit DataStage jobs?
- Generating a sequence number in IBM datastage
- Couldn't get File Lock
- Schema Registry URL for IIDR CDC Kafka subscription
- Implicit conversion error from string to timestamp in Datastage
- Datastage Basic - How to Supress "previously undefined" Warning Message in Transform Function
- How to give a job parameters previously calculated with other job?
Related Questions in IBM-STREAMS
- how could resolved "CDISP0092E ERROR: Because of previous compilation errors, the compile process cannot continue."?
- Is it possible to write in ORC format using hdfs2FileSink operator into HDFS in IBM infosphere streams or any other way?
- Can we use SPL time functions inside C++ operators?
- In SPL TEDA 4.2 , do we have limitation on number of input file types that can be included?
- How can I get IBM Streams toolkit update?
- Error : fork() failed in code generation
- XML Parse operator throws error when working with large XML file in IBM Streams
- IBM Streams export/import operation within the instance versus between two instances
- JSON to Tuple operation in IBM Streams
- Setting IBM Streams instance properties and bringing that to effect without restarting the instance
- Working on migration of SPL 3.0 to 4.2 (TEDA)
- Working with TEDA 4.2 architecture.How to call LookUpCache operator in a loop?
- Is there a way to capure tuple/sec through an operator in IBM Streams (not through Streams console)
- Automating Build Process of c++ code using RTC and jenkins
- Working with large files with a particular extension using directory scan operator
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
There is no direct "give me the throughput for this operator" metric available. You could implement a primitive operator that accesses the
nTuplesProcessedmetric over time and calculates the throughput from that. (The list of available metrics.) But, I actually find it much easier to use the following composite operator:You can then use the composite operator as a "throughput tap", where it consumes the stream from whatever operator whose throughput you want to record. For example, you may use it like so:
Of course, you can then still use the
Resultstream elsewhere in your application. Keep in mind that this method may have some impact on the performance of the application: we're putting a tap on the data path. But, the impact should not be large, particularly if you make sure that the operators in thePeriodicThroughputSinkare fused into the same PE as whatever operator you're tapping. Also, the shorter the period, the more likely it will impact application performance.Again, we could do something similar in a C++ or Java primitive operator by accessing the
nTuplesProcessedmetric, but I find the above approach much easier. You could also grab the system metrics from outside of your application; say, you could have a script that periodically usesstreamtool capturestateor the REST API, and then parse the output, find thenTuplesProcessedmetric for the operator you care about and use that to calculate throughput. But I find the technique in this composite operator much easier.