In distributed stream processing, many stream operators associated with streaming applications may make external connections (e.g., TCP, HTTP, etc.) to databases, messaging servers, etc. These external connections may bring data into a streaming application. These stream operators may have operator code (e.g., custom stream operators that may be written from scratch in Java or C++ which may configure one or more external connections) that may not be directly controlled by a stream computing management application. As such, there may not be visibility into the connections being made by a stream operator. For example, a source operator may appear healthy from a stream computing management application perspective, but may not be receiving any data or messages. This may be because the stream operator hasn't successfully set up the external connection or may be because there are no data and/or messages to be consumed. Unless a developer creates and manages a custom metric for each custom source operator, there may be no way to tell without digging into trace logs. From a more malicious perspective, vulnerabilities or problems may arise if a stream operator that shouldn't be making external connections, suddenly starts doing so.
USPTO Backgrounds
USPTO Backgrounds