Patent ID: 9720802
Date: 2017-08-01
CPC Classifications: G06F,G06N

Claim:
1. A computer program product for processing a stream of tuples, the computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code executable by one or more processors to perform a method comprising: receiving a stream of tuples to be processed by a plurality of processing elements operating on one or more computer processors, each processing element having one or more stream operators; identifying a breakpoint for a first stream operator, the breakpoint configured to be triggered when time for processing of a tuple by the first stream operator is predicted to exceed a threshold time, the breakpoint set up through a debugger in an integrated development environment (IDE); receiving, at the first stream operator, a first tuple having a set of attributes; determining, using a model based on historical data, a predicted time to process the first tuple, the historical data including processing time, tuple attributes, and system performance characteristics for past processing of tuples at the first stream operator, the system performance characteristics including processor utilization; determining the predicted time exceeds the threshold time; triggering the breakpoint, in response to the determining the predicted time exceeds the threshold time, to pause processing of the tuple by the first stream operator; providing, in response to the triggering the breakpoint, the debugger in the IDE for examining code for the first stream operator, wherein the debugger is configured to allow a user to step through execution of the code for the first stream operator; determining a section of the code for the first stream operator that is exceeding the predicted time of execution, wherein the determining the section of the code is based on profiling using a profile tool in the IDE, wherein the IDE includes an optimizing compiler for optimization of the determined section of code; notifying the user if said user has stepped past the section of code; and determining by the user, release of the breakpoint, and in response of releasing the breakpoint, unpause processing of the tuple by the first stream operator.