Reporting Infrastructure

Event Stream Processor infrastructure enhancements make it possible to read adapter statistics, adapter latency, CPU usage and more from metadata streams. SDK enhancements also make it possible to determine TCP packet sizes to determine how much room is available when sending messages from the SDK.

Metadata Stream Enhancements

In version 5.1, the new metadata stream _ESP_Adapter_Statistics makes it possible for both internal and external adapters to report custom statistics. To read the statistics, subscribe to this metadata stream using standard SDK subscription calls.

The _ESP_Connectors metadata stream now includes an additional column, latency, through which an internal adapter can report on any latency it introduces. This latency information is then reported through SCC.

The _ESP_Project_Monitor metadata stream reports on CPU utilization, memory consumption, and number of threads on a per-project basis. As with other monitor-related streams such as _ESP_Streams_Monitor and _ESP_Clients_Monitor, this metadata stream is only updated when the time granularity option is set to a value greater than zero.

The _ESP_Streams_Monitor and _ESP_Clients_Monitor metadata streams have been extended to report on system and user CPU percentage and CPU time.

For information on metadata streams, see the Administrators Guide.

SDK Support for Network Parameters

The Java, C/C++, and .NET SDKs now provide a new API that lets you determine how much room there is in the TCP packet when sending from the SDK. Information provided includes the MTU size, IP header size, TCP header size, and ESP header size.

For a connected publisher (single socket connection), the SDK now retrieves:
  • ESP binary data block header size (all SDKs, all platforms).
  • TCP Maximum Segment Size (MSS) for the connected socket. The MSS is computed by the system as MTU – IP Header Size – TCP header size and denotes the space available for data in a single packet that can be sent without IP fragmentation (C/C++ SDK, Linux and Solaris only).
  • Maximum transmission unit (MTU) of the connected interface and default IP and TCP header sizes (Java SDK, Linux and Solaris only).

For a message writer (the component that corresponds to one particular stream on the engine), the SDK now retrieves the row header size for the stream.