The new v2 service plans of the Streaming Analytics service in the IBM Cloud include some performance related enhancements that help diagnose performance issues and support high availability.

Read Mike Branson’s blog post on the IBM Cloud for more on these new plans.

Guaranteed tuple processing in the cloud

If you use the v2 service plans, the instance is already configured to support guaranteed tuple processing using consistent regions. Adding a consistent region to your application guarantees that each tuple that passes through the region is processed at least once.  This enhancement means that new existing Streams applications running on-premises that use consistent regions can also be run in the IBM Cloud

Java API Support

In addition to enabling consistent regions for SPL applications, Streams applications written entirely in Java also support consistent regions.  This support requires that you create the application with version 1.8.2+ of the topology toolkit.

Learn more about consistent regions in this Streamsdev article and in the Streams Knowledge Center.

Identify operators with high CPU utilization

The Streams Console is the main tool to manage and monitor applications running in the Streaming Analytics service.  The v2 service plans also include a new metric to monitor how operators behave and ensure resource optimization.

When two or more operators are fused into the same process, you can use a new metric called relativeOperatorCost to determine which operator in a processing element (PE) is using the most resources. The relativeOperatorCost metric is an integer in the range of 0 to 100. An operator with relative cost of 0 has negligible computational cost compared to other operators in the same PE. An operator with relative cost of 100 indicates almost all observed execution time of the PE has been performed by that operator.

The cost metric is obtained by scaling the operator sampling counter to the range from 0 to 100. For example, in an application where only operators opA and opB are in the same PE, the sampling counter for opA is 100 and sampling counter for opB is 900, the cost metric of opA is (100/(100+900))*100 = 10, while the cost metric of opB is 90.

You can see the relativeOperatorCost metric when hovering over an operator in the Streams Graph. In addition, you can apply coloring schemes to easily identify or highlight operators with the highest relative computational cost.

Relative operator cost metric in Streams Graph

What’s next

Join The Discussion