15 #ifndef ENGINE_CLIENT_CPP_HPP
16 #define ENGINE_CLIENT_CPP_HPP
19 #include <AP_Platform.h>
28 #include <sag_internal/engine_client_c.h>
70 virtual const
char* what() const throw() {
return m_message; }
79 virtual const char*
const*
getWarnings()
const {
return m_warnings; }
85 const char*
const* m_warnings;
133 AP_ENGINE_CLIENT_API
void setLogFile(
const AP_char8* filename,
bool truncate,
bool utf8 =
false);
140 AP_ENGINE_CLIENT_API
void setLogFD(
int fd);
146 AP_ENGINE_CLIENT_API
void setLogMutex(
void *mutex);
156 AP_ENGINE_CLIENT_API AP_char8*
convertToUTF8(
const AP_char8* s);
164 AP_ENGINE_CLIENT_API
void char8free(
char *
string);
181 friend AP_ENGINE_CLIENT_API
Event*
createEvent(
const char* eventString,
const char* channelString);
191 virtual const char* getText()
const = 0;
201 virtual const char* getChannel()
const = 0;
213 virtual double getTime()
const = 0;
265 virtual void disconnect() = 0;
306 virtual void sendEvents(
const Event*
const* events) = 0;
334 virtual void disconnect(
const char* reason) = 0;
360 AP_ENGINE_CLIENT_API
Event*
createEvent(
const char* eventString,
const char* channelString);
406 virtual const char* getText()
const = 0;
433 std::ostream&
operator << (std::ostream& stream,
const EngineStatus& obj);
434 std::ostream&
operator << (std::ostream& stream,
const EngineStatus* obj);
455 #pragma warning (disable : 4251)
457 class AP_ENGINE_CLIENT_API
StatusIterator :
public std::iterator<std::forward_iterator_tag, int>
461 typedef pair<std::string, std::string>
pair_t;
474 if (m_status && m_opaqueState) m_status->disposeIterator(m_opaqueState);
488 return (m_status == ref.m_status) &&
489 (((0 == m_opaqueState) && (0 == ref.m_opaqueState)) ||
490 (iterPair.first == ref.iterPair.first));
499 bool valid() {
return 0 != m_opaqueState; }
503 : m_status(ref.m_status),
504 m_opaqueState(m_status->copyIterator(ref.m_opaqueState)),
505 iterPair(ref.iterPair)
520 std::swap(m_status, other.m_status);
521 std::swap(m_opaqueState, other.m_opaqueState);
522 std::swap(iterPair, other.iterPair);
710 const_iterator
end()
const {
717 const AP_char8* operator[] (
const char *ref)
const {
718 return getStatusValue(ref);
724 const AP_char8* operator[] (std::string &ref)
const {
725 return this->operator[](ref.c_str());
745 return userIntOr(key, alt);
755 return userFloat(key);
765 return userFloatOr(key, alt);
775 return userBool(key);
785 return userBoolOr(key, alt);
795 return userString(key);
805 return userStringOr(key, alt);
814 std::ostringstream ost;
815 ost << getStandardStatusValues();
817 if (it->first.find(
"user-") != std::string::npos)
818 ost << std::setw(32) << setiosflags(std::ios_base::left) << it->first.append(
":") << it->second << std::endl;
829 std::ostringstream ost;
840 std::ostringstream ost;
841 ost <<
"Uptime (ms),# Contexts,# Monitors,# Sub-monitors,# Java apps,# Listeners,";
842 ost <<
"# Sub-listeners,# Event types,Input queue,# Received events,";
843 ost <<
"Route queue,# Routed events,# Consumers,Output queue,";
844 ost <<
"# Created output events,# Sent output events,# Processed events,";
845 ost <<
"Slowest context name,Slowest context queue size,Slowest receiver,Slowest receiver queue";
855 std::ostringstream ost;
856 ost << getRawHeader();
858 if (it->first.find(
"user-") != std::string::npos)
859 ost <<
"," << it->first;
870 std::ostringstream ost;
872 <<
"," << getNumContexts()
873 <<
"," << getNumMonitors()
874 <<
"," << getNumProcesses()
875 <<
"," << getNumJavaApplications()
876 <<
"," << getNumListeners()
877 <<
"," << getNumSubListeners()
878 <<
"," << getNumEventTypes()
879 <<
"," << getNumQueuedInput()
880 <<
"," << getNumReceived()
881 <<
"," << getNumQueuedFastTrack()
882 <<
"," << getNumFastTracked()
883 <<
"," << getNumConsumers()
884 <<
"," << getNumOutEventsQueued()
885 <<
"," << getNumOutEventsCreated()
886 <<
"," << getNumOutEventsSent()
892 <<
"," << getNumProcessed()
893 <<
"," << getMostBackedUpInput()
894 <<
"," << getMostBackedUpQueueSize()
895 <<
"," << getSlowestReceiver()
896 <<
"," << getSlowestReceiverQueueSize();
906 std::ostringstream ost;
907 ost << getStandardStatusValuesRaw();
909 if (it->first.find(
"user-") != std::string::npos)
910 ost <<
"," << it->second;
921 c_status->functions->deleteStatus(reinterpret_cast<AP_EngineStatus *>(c_status));
926 : c_status(other.c_status ? reinterpret_cast<AP_EngineStatus_API*>(other.c_status->functions->copyStatus(reinterpret_cast<AP_EngineStatus *>(other.c_status))) : 0)
940 EngineStatus(AP_EngineStatus_API *api): c_status(api) {}
942 void swap(EngineStatus &other) {
943 std::swap(c_status, other.c_status);
946 void getNext(
const char *&name,
const char *&value,
void *&opaqueState)
const {
948 c_status->functions->getNextStatusItem(reinterpret_cast<AP_EngineStatus *>(c_status), &name, &value, &opaqueState);
951 const AP_char8* getStatusValue(
const char *name)
const {
952 return c_status->functions->getStatusValue(reinterpret_cast<AP_EngineStatus *>(c_status), name);
955 AP_uint64 getStatusIntValue(
const char *name)
const {
956 return c_status->functions->getStatusIntValue(reinterpret_cast<AP_EngineStatus *>(c_status), name);
959 void disposeIterator(
void *opaqueState)
const {
960 c_status->functions->disposeIterator(reinterpret_cast<AP_EngineStatus *>(c_status), opaqueState);
963 void *copyIterator(
void *opaqueState)
const {
964 return c_status->functions->copyIterator(reinterpret_cast<AP_EngineStatus *>(c_status), opaqueState);
968 AP_int64 userIntOr(
const char* key, AP_int64 alt) {
969 return c_status->functions->getUserIntOr(reinterpret_cast<AP_EngineStatus *>(c_status), key, alt);
972 AP_float64 userFloatOr(
const char* key, AP_float64 alt) {
973 return c_status->functions->getUserFloatOr(reinterpret_cast<AP_EngineStatus *>(c_status), key, alt);
976 AP_bool userBoolOr(
const char* key, AP_bool alt) {
977 return c_status->functions->getUserBoolOr(reinterpret_cast<AP_EngineStatus *>(c_status), key, alt);
980 const AP_char8* userStringOr(
const char* key,
const AP_char8* alt) {
981 return c_status->functions->getUserStringOr(reinterpret_cast<AP_EngineStatus *>(c_status), key, alt);
984 AP_int64 userInt(
const char* key) {
985 return c_status->functions->getUserInt(reinterpret_cast<AP_EngineStatus *>(c_status), key);
988 AP_float64 userFloat(
const char* key) {
989 return c_status->functions->getUserFloat(reinterpret_cast<AP_EngineStatus *>(c_status), key);
992 AP_bool userBool(
const char* key) {
993 return c_status->functions->getUserBool(reinterpret_cast<AP_EngineStatus *>(c_status), key);
996 const AP_char8* userString(
const char* key) {
997 return c_status->functions->getUserString(reinterpret_cast<AP_EngineStatus *>(c_status), key);
1000 AP_EngineStatus_API *c_status;
1008 std::ostringstream ost;
1010 <<
"Uptime(ms): " << obj.
getUptime() << std::endl
1037 stream << ost.str();
1060 if (m_opaqueState) step();
1064 inline void EngineStatus::StatusIterator::step()
1066 const char *name =
nullptr;
1067 const char *value =
nullptr;
1070 m_status->getNext(name, value, m_opaqueState );
1071 if(!name || !value) {
1072 assert(!m_opaqueState);
1074 iterPair = pair_t(name, value);
1094 virtual const char* getName()
const = 0;
1100 virtual const char* getPackage()
const = 0;
1105 virtual const char* getFullyQualifiedName()
const = 0;
1130 virtual unsigned int getNumSubMonitors()
const = 0;
1155 virtual unsigned int getNumListeners()
const = 0;
1180 virtual unsigned int getNumSubMonitors()
const = 0;
1185 virtual unsigned int getQueueSize()
const = 0;
1190 virtual char const *
const *getChannels()
const = 0;
1216 virtual unsigned int getQueueSize()
const = 0;
1221 virtual char const *
const *getChannels()
const = 0;
1226 virtual const AP_char8 *getAddress()
const = 0;
1252 virtual unsigned int getQueueSize()
const = 0;
1257 virtual char const *
const *getChannels()
const = 0;
1282 virtual unsigned int getNumEventTemplates()
const = 0;
1307 virtual unsigned int getNumTimers()
const = 0;
1362 virtual unsigned int getNumMonitors()
const = 0;
1367 virtual unsigned int getNumJavaApplications()
const = 0;
1372 virtual unsigned int getNumEventTypes()
const = 0;
1377 virtual unsigned int getNumTimers()
const = 0;
1382 virtual unsigned int getNumAggregates()
const = 0;
1432 virtual unsigned int getNumContexts()
const = 0;
1446 virtual unsigned int getNumReceivers()
const = 0;
1460 virtual unsigned int getNumPluginReceivers()
const = 0;
1518 virtual void injectMonitorScript(
MonitorScript& script) = 0;
1535 virtual const char*
const* injectMonitorScriptWithWarnings(
MonitorScript& script) = 0;
1553 virtual const char*
const* injectMonitorScriptWithWarningsFilename(
MonitorScript& script,
const char *filename) = 0;
1561 virtual void deleteName(
const char * name) = 0;
1569 virtual void forceDeleteName(
const char * name) = 0;
1577 virtual void killName(
const char * name) = 0;
1582 virtual void deleteAll() = 0;
1592 virtual void injectJava(
const AP_uint8* jarbytes, AP_uint32 size) = 0;
1610 virtual const char*
const* injectJavaWithWarnings(
const AP_uint8* jarbytes, AP_uint32 size) = 0;
1626 virtual const char*
const* injectJavaWithWarningsFilename(
const AP_uint8* jarbytes, AP_uint32 size,
const char *filename) = 0;
1638 virtual void injectCDP(
const AP_uint8* cdpbytes, AP_uint32 size,
const char *filename=NULL) = 0;
1656 virtual const char*
const* injectCDPWithWarnings(
const AP_uint8* cdpbytes, AP_uint32 size) = 0;
1672 virtual const char*
const* injectCDPWithWarningsFilename(
const AP_uint8* cdpbytes, AP_uint32 size,
const char *filename) = 0;
1680 char *errmsg =
nullptr;
1681 AP_EngineStatus *es_api = engineManagement_getStatusOpaque(
this, &errmsg);
1688 return EngineStatus(reinterpret_cast<AP_EngineStatus_API *>(es_api));
1756 virtual bool attachAsEventConsumerTo(
EngineManagement* target,
const char*
const* channels,
bool disconnectSlow =
false, ConnectMode mode = CONNECT_LEGACY) = 0;
1781 virtual bool attachAsEventConsumerTo(
const char* host,
int port,
const char*
const* channels,
bool disconnectSlow =
false, ConnectMode mode = CONNECT_LEGACY) = 0;
1800 virtual void detachAsEventConsumerFrom(
EngineManagement* target,
const char*
const* channels, ConnectMode mode = CONNECT_LEGACY) = 0;
1819 virtual void detachAsEventConsumerFrom(
const char* host,
int port,
const char*
const* channels, ConnectMode mode = CONNECT_LEGACY) = 0;
1845 virtual void flushEvents() = 0;
1873 virtual void ping() = 0;
1880 virtual bool isConnected() = 0;
1897 virtual void setReceiverConnections(
const std::vector<com::apama::engine::EngineConnection>& connections) = 0;
1903 virtual const std::vector<com::apama::engine::EngineConnection> getReceiverConnections() = 0;
1926 std::vector<std::string> channels;
1927 bool disconnectSlow;
1931 if (host == NULL || channels == NULL) {
1932 throw EngineException(
"EngineConnection cannot be created with null host or channels");
1934 if (port < 0 || port > 65535) {
1935 throw EngineException(
"EngineConnection cannot be created with invalid port value");
1938 this->host = std::string(host);
1940 this->disconnectSlow = disconnectSlow;
1941 this->connectMode = connectMode;
1943 for (
const char*
const* c = channels; *c != NULL; c++) {
1944 this->channels.push_back(std::string(*c));
1960 const char *
const * channels) {
1961 init(host, port, disconnectSlow, connectMode, channels);
1972 init(host, port,
false, EngineManagement::CONNECT_LEGACY, channels);
2005 return disconnectSlow;
2018 std::ostringstream ost;
2019 ost <<
"EngineConnection to " << obj.host <<
":" << obj.port << (obj.disconnectSlow ==
true ?
" diconnectSlow" :
"") <<
" on" <<
2020 (obj.connectMode == EngineManagement::CONNECT_PARALLEL ?
" parallel" :
"") <<
" channels [";
2022 if (!obj.channels.empty()) {
2023 std::copy(obj.channels.begin(), obj.channels.end() - 1, std::ostream_iterator<std::string>(ost,
", "));
2024 ost << obj.channels.back();
2027 stream << ost.str();
2048 AP_ENGINE_CLIENT_API
void engineInit(
const char* processName =
"C++ Client");
2057 AP_ENGINE_CLIENT_API
void engineInitMessaging(
const char *processName,
bool initMessaging=
true);
2081 AP_ENGINE_CLIENT_API EngineManagement*
connectToEngine(
const char* host,
unsigned short port,
bool disconnectSlowReceiver =
false,
const char *processName =
nullptr);
2096 AP_ENGINE_CLIENT_API EngineManagement*
connectToEngineReceiveOnly(
const char* host,
unsigned short port,
const char *processName =
nullptr);
2110 AP_ENGINE_CLIENT_API EngineManagement*
connectToEngineMonitorOnly(
const char* host,
unsigned short port,
const char *processName =
nullptr);
2147 AP_ENGINE_CLIENT_API
void deleteInfo(EngineInfo* info);
2157 AP_ENGINE_CLIENT_API
void deleteWarnings(
const char*
const* warnings);
2180 #endif // ENGINE_CLIENT_CPP_HPP
static char const *const PERSISTENCE_SNAPSHOT_WAIT_EWMA_SECONDS
The EWMA of time taken to wait for a snapshot, in milliseconds.
Definition: client_status_names.hpp:63
AP_ENGINE_CLIENT_API void deleteInfo(EngineInfo *info)
This function allows deletion of an EngineInfo object.
static char const *const PERSISTENCE_SNAPSHOTS_TOTAL
Number of snapshots since startup.
Definition: client_status_names.hpp:59
AP_ENGINE_CLIENT_API void setLogLevel(LogLevel level)
Sets the level at which the client library will log information.
AP_ENGINE_CLIENT_API void setEngineParams(const char *params)
Set custom parameters for this instance of the client library.
Derived class from EventConsumer which implements the disconnect API.
Definition: engine_client_cpp.hpp:324
Base class for a named object (i.e.
Definition: engine_client_cpp.hpp:1088
const AP_char8 * getMostBackedUpInput() const
The name of the slowest context.
Definition: engine_client_cpp.hpp:656
An EventConsumer can connect to the Engine through an EventSupplier and register to receive events...
Definition: engine_client_cpp.hpp:291
AP_float64 getUserFloatOr(const char *key, float alt)
Get a user value of type AP_float64 or the alt value if it cannot be found.
Definition: engine_client_cpp.hpp:764
virtual const char * getText() const =0
Retrieve the event's type and its contents as a string.
AP_uint32 getNumConsumers() const
The number of external consumers/receivers connected to receive emitted events.
Definition: engine_client_cpp.hpp:619
AP_ENGINE_CLIENT_API void engineInit(const char *processName="C++ Client")
This function must be called once per process first before any other Engine operations are carried ou...
static char const *const QUEUED_INPUT_PUBLIC_TOTAL
Total number of events on input contexts' queues.
Definition: client_status_names.hpp:35
AP_uint32 getNumInputQueuedInput() const
The number of events on the input queues of all public contexts.
Definition: engine_client_cpp.hpp:649
virtual const char * getText() const =0
Retrieve the text of a MonitorScript fragment as a string.
~EngineStatus()
Destroy the underlying status data.
Definition: engine_client_cpp.hpp:918
AP_uint32 getNumSubListeners() const
The number of sub-event-listeners that are active across all contexts.
Definition: engine_client_cpp.hpp:684
EngineStatus getStatus()
Get the Engine's current operational status.
Definition: engine_client_cpp.hpp:1678
static char const *const ROUTE_TOTAL
Number of events fast tracked.
Definition: client_status_names.hpp:33
static char const *const SUB_LISTENERS_TOTAL
Number of active sub-listeners.
Definition: client_status_names.hpp:69
AP_int64 getUserIntOr(const char *key, int alt)
Get a user value of type AP_int64 or the alt value if it cannot be found.
Definition: engine_client_cpp.hpp:744
AP_uint64 getNumReceived() const
The number of events that the correlator has received from external sources since the correlator star...
Definition: engine_client_cpp.hpp:605
static char const *const INPUT_TOTAL
Number of events received (includes those that failed to be parsed)
Definition: client_status_names.hpp:57
The Engine Management class acts as the interface to the Engine, and allows operations to be carried ...
Definition: engine_client_cpp.hpp:1502
static char const *const PERSISTENCE_SNAPSHOT_ROWS_CHANGED_EWMA_TOTAL
The EWMA of number of rows changed.
Definition: client_status_names.hpp:67
bool operator==(const StatusIterator &ref) const
Returns true if two iterators point to the same item.
Definition: engine_client_cpp.hpp:486
virtual const std::vector< std::string > & getChannels() const
Get the channels associated with this connection.
Definition: engine_client_cpp.hpp:1980
virtual const std::string & getHost() const
Get the host associated with this connection.
Definition: engine_client_cpp.hpp:1988
pair< std::string, std::string > pair_t
element type
Definition: engine_client_cpp.hpp:461
Fatal messages.
Definition: engine_client_cpp.hpp:102
AP_ENGINE_CLIENT_API void deleteMonitorScript(MonitorScript *mon)
This function allows deletion of MonitorScript objects.
AP_int64 getUserInt(const char *key)
Get a user value of type AP_int64.
Definition: engine_client_cpp.hpp:734
EngineConnection encapsulates the information related to a connection between two Apama messaging com...
Definition: engine_client_cpp.hpp:1922
Nothing logged.
Definition: engine_client_cpp.hpp:96
static char const *const CONSUMERS_TOTAL
Number of consumers attached to the correlator.
Definition: client_status_names.hpp:25
AP_bool getUserBool(const char *key)
Get a user value of type AP_bool.
Definition: engine_client_cpp.hpp:774
AP_uint32 getNumJavaApplications() const
The number of Java applications and Java EPL plug-ins loaded in the correlator.
Definition: engine_client_cpp.hpp:569
Definition: sag_connectivity_threading.h:178
StatusIterator & operator=(const StatusIterator &other)
Copy assignment.
Definition: engine_client_cpp.hpp:508
Information about a timer type returned by an engine inspection.
Definition: engine_client_cpp.hpp:1301
AP_ENGINE_CLIENT_API AP_char8 * convertFromUTF8(const AP_char8 *s)
Convert a string in UTF-8 to the local encoding, since most of the Apama API returns UTF-8...
AP_uint32 getNumContexts() const
The number of contexts in the correlator, including the main context.
Definition: engine_client_cpp.hpp:548
Information about a context returned by an engine inspection.
Definition: engine_client_cpp.hpp:1174
static char const *const MONITORS_TOTAL
Number of monitors.
Definition: client_status_names.hpp:41
StatusIterator operator++(int dummy)
(postfix) increment this iterator
Definition: engine_client_cpp.hpp:477
pair_t & operator*()
Return a reference to the element pointed to.
Definition: engine_client_cpp.hpp:495
std::string getStandardStatusValues()
Get the standard status values, formatted for terminal output.
Definition: engine_client_cpp.hpp:828
EngineConnection(const char *host, int port, bool disconnectSlow, EngineManagement::ConnectMode connectMode, const char *const *channels)
Definition: engine_client_cpp.hpp:1959
static char const *const CREATED_OUTPUT_TOTAL
Number of events emitted from correlator.
Definition: client_status_names.hpp:29
AP_ENGINE_CLIENT_API void engineInitMessaging(const char *processName, bool initMessaging=true)
This function (or engineInit) must be called once per process first before any other Engine operation...
Startup and other important messages.
Definition: engine_client_cpp.hpp:98
AP_uint32 getNumQueuedFastTrack() const
The sum of routed events on the route queues of all contexts.
Definition: engine_client_cpp.hpp:590
EngineStatus & operator=(const EngineStatus &other)
Copy assignment.
Definition: engine_client_cpp.hpp:929
AP_ENGINE_CLIENT_API MonitorScript * createMonitorScript(const char *monitorString)
This function allows creation of MonitorScript objects.
StatusIterator const_iterator
Iterator type for const EngineStatus.
Definition: engine_client_cpp.hpp:536
An EventSupplier represents the resources created by the Engine to service a connection to an externa...
Definition: engine_client_cpp.hpp:251
static std::string getRawHeader()
Get a header for the raw output, useful for indentifying values.
Definition: engine_client_cpp.hpp:839
const AP_char8 * getSlowestReceiver() const
The name of the consumer/receiver with the largest number of incoming events waiting to be processed...
Definition: engine_client_cpp.hpp:663
static char const *const PROCESSED_TOTAL
Number of events taken of output queue.
Definition: client_status_names.hpp:49
For backwards compatibility, single serial connection.
Definition: engine_client_cpp.hpp:1508
Information about a monitor returned by an engine inspection.
Definition: engine_client_cpp.hpp:1124
static char const *const LISTENERS_TOTAL
Number of active listeners.
Definition: client_status_names.hpp:39
static char const *const SLOWEST_INPUT_QUEUE_SIZE_TOTAL
Number of executors waiting on that context's queue.
Definition: client_status_names.hpp:77
Information about a receiver returned by an engine inspection.
Definition: engine_client_cpp.hpp:1210
std::string getRawHeaderAll()
Get a header for the raw output, useful for indentifying values.
Definition: engine_client_cpp.hpp:854
AP_ENGINE_CLIENT_API void setLogFile(const AP_char8 *filename, bool truncate, bool utf8=false)
Sets the file to which the client library should log information.
ConnectMode
The mode that attachAsEventConsumerTo and detachAsEventConsumerFrom operate in.
Definition: engine_client_cpp.hpp:1506
EngineStatus()
Create a default-constructed (empty) EngineStatus.
Definition: engine_client_cpp.hpp:937
Information messages (default)
Definition: engine_client_cpp.hpp:108
Information about an aggregate function returned by an engine inspection.
Definition: engine_client_cpp.hpp:1327
virtual const char *const * getWarnings() const
Retrieve the set of warnings associated with the exception.
Definition: engine_client_cpp.hpp:79
AP_uint32 getSlowestReceiverQueueSize() const
The number of events on the slowest consumer's/receiver's queue, as identified by the name of the slo...
Definition: engine_client_cpp.hpp:670
Information about the monitors and types currently in an engine.
Definition: engine_client_cpp.hpp:1354
Contains the key names for all standard status values within the correlator.
static char const *const EVENT_TYPES_TOTAL
Number of event types defined.
Definition: client_status_names.hpp:31
std::ostream & operator<<(std::ostream &stream, const EngineStatus &obj)
Stream output operator for a reference.
Definition: engine_client_cpp.hpp:1007
AP_ENGINE_CLIENT_API void engineShutdown()
This function must be called once per process before the application closes down. ...
Information about a java application returned by an engine inspection.
Definition: engine_client_cpp.hpp:1149
AP_ENGINE_CLIENT_API void disconnectFromEngine(EngineManagement *corr)
This function allows disconnection from an Engine.
const AP_char8 * getUserString(const char *key)
Get a user value of type AP_char8*.
Definition: engine_client_cpp.hpp:794
An Event object represents an event instance.
Definition: engine_client_cpp.hpp:179
AP_uint32 getNumMonitors() const
The number of EPL monitor definitions injected into the correlator.
Definition: engine_client_cpp.hpp:555
virtual bool getDisconnectSlow() const
Get the value of disconnectSlow flag associated with this connection.
Definition: engine_client_cpp.hpp:2004
Critical messages.
Definition: engine_client_cpp.hpp:100
AP_uint32 getMostBackedUpQueueSize() const
The number of events on the slowest context's queue, as identified by the name of the slowest context...
Definition: engine_client_cpp.hpp:677
pair_t * operator->()
Return a pointer to the element pointed to.
Definition: engine_client_cpp.hpp:497
AP_uint64 getUptime() const
The time in milliseconds since the correlator was started.
Definition: engine_client_cpp.hpp:541
const_iterator begin() const
Returns an instance of the StatusIterator which allows to iterate over all status items...
Definition: engine_client_cpp.hpp:700
virtual ~EngineConnection()
Destroy the underlying connection data.
Definition: engine_client_cpp.hpp:2038
AP_ENGINE_CLIENT_API EngineManagement * connectToEngineMonitorOnly(const char *host, unsigned short port, const char *processName=nullptr)
Attempt to establish a monitor-only connection to an Engine listening on the named host and port...
static char const *const QUEUED_INPUT_TOTAL
Number of events on the input queue.
Definition: client_status_names.hpp:55
static char const *const SLOWEST_INPUT_QUEUE_CONTEXT_NAME
Name of the most backlogged input context.
Definition: client_status_names.hpp:79
std::string getAllStatusValuesRaw()
Get all the status values available, formatted for parsers (values separated by ,).
Definition: engine_client_cpp.hpp:905
AP_ENGINE_CLIENT_API void reOpenLog()
Re-opens the log file.
AP_uint32 getNumOutEventsQueued() const
The number of events waiting on output queues to be dispatched to any connected external consumers/re...
Definition: engine_client_cpp.hpp:626
AP_uint32 getNumEventTypes() const
The number of event types defined within the correlator.
Definition: engine_client_cpp.hpp:583
LogLevel
Available logging levels.
Definition: engine_client_cpp.hpp:94
Information about a receiver returned by an engine inspection.
Definition: engine_client_cpp.hpp:1246
std::string getAllStatusValues()
Get all the status values available, formatted for terminal output.
Definition: engine_client_cpp.hpp:813
AP_ENGINE_CLIENT_API EngineManagement * connectToEngineReceiveOnly(const char *host, unsigned short port, const char *processName=nullptr)
Attempt to establish a receive-only connection to an Engine listening on the named host and port...
EngineStatus(const EngineStatus &other)
Copy constructor.
Definition: engine_client_cpp.hpp:925
AP_uint32 getNumQueuedInput() const
The number of executors on the input queues of all contexts.
Definition: engine_client_cpp.hpp:598
AP_uint64 getNumOutEventsSent() const
The number of events that have been delivered to external consumers/receivers.
Definition: engine_client_cpp.hpp:642
AP_ENGINE_CLIENT_API void deleteWarnings(const char *const *warnings)
This function allows deletion of the lists of warnings returned by injectMonitorScriptWithWarnings()...
const_iterator end() const
Returns an instance of the StatusIterator which allows to iterate over all status items...
Definition: engine_client_cpp.hpp:710
virtual EngineManagement::ConnectMode getConnectMode() const
Get the connection mode associated with this connection.
Definition: engine_client_cpp.hpp:2012
static char const *const OUTPUT_TOTAL
Number of events sent.
Definition: client_status_names.hpp:45
EngineConnection(const char *host, int port, const char *const *channels)
Definition: engine_client_cpp.hpp:1971
EngineStatus represents the operational status of the Engine.
Definition: engine_client_cpp.hpp:442
AP_uint32 getNumListeners() const
The number of listeners in all contexts.
Definition: engine_client_cpp.hpp:576
AP_uint64 getNumOutEventsCreated() const
The number of events that have been sent or emitted to channels which have at least one external cons...
Definition: engine_client_cpp.hpp:634
Warning messages.
Definition: engine_client_cpp.hpp:106
AP_ENGINE_CLIENT_API AP_char8 * convertToUTF8(const AP_char8 *s)
Convert a string in local encoding to UTF-8, as required by most of the Apama API.
static char const *const QUEUED_ROUTE_TOTAL
Number of events on the fast track queue.
Definition: client_status_names.hpp:53
bool valid()
Returns true if this is a valid iterator over status data.
Definition: engine_client_cpp.hpp:499
const AP_char8 * getUserStringOr(const char *key, const char *alt)
Get a user value of type AP_char8* or the alt value if it cannot be found.
Definition: engine_client_cpp.hpp:804
AP_ENGINE_CLIENT_API Event * createEvent(const char *eventString, const char *channelString)
This function allows creation of an Event object.
static char const *const SLOWEST_OUTPUT_QUEUE_NAME
Name of the slowest receiver.
Definition: client_status_names.hpp:71
static char const *const QUEUED_OUTPUT_TOTAL
Number of events on the output queue.
Definition: client_status_names.hpp:43
std::ostream & operator<<(std::ostream &stream, const EngineStatus *obj)
Stream output operator for a pointer.
Definition: engine_client_cpp.hpp:1044
Debugging messages.
Definition: engine_client_cpp.hpp:110
AP_float64 getUserFloat(const char *key)
Get a user value of type AP_float64.
Definition: engine_client_cpp.hpp:754
bool operator!=(const StatusIterator &ref) const
Returns false if two iterators point to the same item.
Definition: engine_client_cpp.hpp:493
Information about a event type returned by an engine inspection.
Definition: engine_client_cpp.hpp:1276
AP_ENGINE_CLIENT_API EngineManagement * connectToEngine(const char *host, unsigned short port, bool disconnectSlowReceiver=false, const char *processName=nullptr)
This function attempts to establish a connection to an Engine.
std::string getStandardStatusValuesRaw()
Get the standard status values, formatted for parsers (values separated by ,).
Definition: engine_client_cpp.hpp:869
StatusIterator()
Default-constructed status iterator.
Definition: engine_client_cpp.hpp:466
An EngineException is thrown by methods in this library if any problems are encountered.
Definition: engine_client_cpp.hpp:47
static char const *const PERSISTENCE_LAST_SNAPSHOT_TIMESTAMP
The clock time of the last complete snapshot.
Definition: client_status_names.hpp:61
More-verbose debug messages.
Definition: engine_client_cpp.hpp:112
A MonitorScript object encapsulates an EPL code fragment, containing package, event and monitor defin...
Definition: engine_client_cpp.hpp:393
AP_ENGINE_CLIENT_API void setLogFD(int fd)
Sets the file descriptor to which the client library should log information.
static char const *const UPTIME_SECONDS
Uptime in ms.
Definition: client_status_names.hpp:23
AP_ENGINE_CLIENT_API void char8free(char *string)
Free any char* string returned from the client API.
A class used for the iterating through all status items.
Definition: engine_client_cpp.hpp:457
AP_ENGINE_CLIENT_API void deleteEvent(Event *ev)
This function allows deletion of an Event object.
StatusIterator iterator
Iterator type.
Definition: engine_client_cpp.hpp:534
static char const *const CONTEXTS_TOTAL
Number of contexts in the correlator.
Definition: client_status_names.hpp:27
AP_ENGINE_CLIENT_API void deleteEventSupplier(EventSupplier *evsup)
This function disconnects and deletes an EventSupplier object.
static char const *const SLOWEST_OUTPUT_QUEUE_SIZE_TOTAL
Number of events waiting on that receiver's queue.
Definition: client_status_names.hpp:73
AP_uint32 getNumProcesses() const
The number of monitor instances, also known as sub-monitors.
Definition: engine_client_cpp.hpp:562
AP_uint64 getNumProcessed() const
The number of events processed by the correlator in all contexts.
Definition: engine_client_cpp.hpp:691
~StatusIterator()
Destroy underling status iterator.
Definition: engine_client_cpp.hpp:472
virtual int getPort() const
Get the port associated with this connection.
Definition: engine_client_cpp.hpp:1996
static char const *const MONITOR_INSTANCES_TOTAL
Number of monitor processes.
Definition: client_status_names.hpp:51
Error messages.
Definition: engine_client_cpp.hpp:104
static char const *const PERSISTENCE_COMMIT_TIME_EWMA_SECONDS
The EWMA of time taken to commit, in milliseconds.
Definition: client_status_names.hpp:65
StatusIterator(const StatusIterator &ref)
Copy constructor.
Definition: engine_client_cpp.hpp:502
AP_uint64 getNumFastTracked() const
The number of events that have been routed across all contexts since the correlator was started...
Definition: engine_client_cpp.hpp:612
AP_bool getUserBoolOr(const char *key, bool alt)
Get a user value of type AP_bool or the alt value if it cannot be found.
Definition: engine_client_cpp.hpp:784
static char const *const JAVA_APPLICATIONS_TOTAL
Number of java applications.
Definition: client_status_names.hpp:37