Server Performance Metrics
Use
Sinch Contact Pro servers can provide performance metrics to Solution Manager Diagnostics (SMD) or as Windows performance counters. In Solution Manager Diagnostics, the metrics is made available to Wily Introscope performance monitoring, and the Windows performance counters can be consumed with any suitable tool, such as Windows Performance Monitor.
In both cases, the metrics are identified by combination of host, virtual unit, server component, and performance counter names. In Wily Introscope, the metrics are available in its structural views. In Windows, the counters are found under Sinch Contact Pro counters, where each counter instance has the naming convention virtual unit.component\counter . Note that possible slashes ( / ) in the counter names in Wily Introscope are replaced with backslashes ( \ ) in Windows performance counter names.
A CEM server counter AGENT/Current/Logins in CEM instance running in the virtual unit VU_CORE would be named as VU_CORE.Cem\AGENT\Current\Logins.
Prerequisites
To install the Wily Introscope monitor, see appropriate Wily installation instructions.
Procedure
The Windows registry parameters UseNCS, NcsPath and UseWinPerf can be set on virtual unit or module level in registry and they are applied accordingly.
Configuring Sinch Contact Pro for Wily monitoring:
-
Locate the SMD directory under the local HAC virtual unit that contains files ncs.dll, sapcpp47.dll and ncs.conf, for example: C:/SAP/ContactCenter/VU/MyHACNode/SMD.
-
For the minimum configuration:
-
Define in the ncs.conf file the following items:
agent_host: DNS name/IP address
agent_port: port number
-
In Windows registry, set string type value HKLM\SOFTWARE\Wicom\NcsPath to contain the above-mentioned path to the directory with the ncs.dll.
-
In Windows registry, set DWORD type value HKLM\SOFTWARE\Wicom\UseNCS to 1.
-
Configuring Sinch Contact Pro Performance Counters for Windows:
-
Right-click the HAC node and choose
. -
In Windows registry, set DWORD type value HKLM\SOFTWARE\Wicom\UseWinPerf to 1.
-
Restart the server component for the changes of the above configuration parameters to take effect.
Metrics from All Server Modules
All Sinch Contact Pro server modules provide the counters in the following table. Some servers produce specific counters in addition to these, those are listed in the sections below.
Counter |
Description |
---|---|
LogErrorCount |
Total count of error-lines in trace logs since component restart |
LogWarningCount |
Total count of warning-lines in trace logs since component restart |
Generic Metrics from Servers
The following counters were introduced with BCMAPI2 that was adapted to Agent Server in SP08, to Directory Server and Integration Interfaces in SP09, and to Batch Job Server, Call Dispatcher, Chat Server, External Terminal Controller (ETC), and Terminal Server in SP10.
Counter |
Description |
---|---|
BcmApi/Cache/Lookups |
Number of ID-to-object-map lookups in the shared cache. This counter tells best about the effectivity of the cache, as well as the related BcmApi/Cache/Finds, Cache/Missed/Objects, and BcmApi/Cache/Missed/Fields. |
BcmApi/Cache/Finds |
Number Find…() operations to shared cache. |
BcmApi/Cache/Added |
Number of objects added to shared cache. |
BcmApi/Cache/Removed |
Number of objects removed from the shared cache. |
BcmApi/Cache/Missed/Objects |
Number of missed objects looked up from the cache. |
BcmApi/Cache/Missed/Fields |
Number of missed fields of objects looked up from the cache. |
BcmApi/Objects/Created |
Number of concrete objects created into memory. |
BcmApi/Objects/Deleted |
Number of concrete objects deleted from memory. |
BcmApi/Objects/InMemory/Shared |
Total number of concrete objects in memory. This is the most important counter to follow memory utilization. |
BcmApi/Objects/InMemory/Proxy |
Total number of proxy objects in memory. |
BcmApi/ArrayItems/Created |
Number of array field items created into memory. |
BcmApi/ArrayItems/Attached |
Number of array field items actually added to an array field. |
BcmApi/ArrayItems/Deleted |
Number of array field items deleted from memory. |
BcmApi/DeserializeXml/Time |
Total time in milliseconds spent in deserializing objects from XML. |
BcmApi/DeserializeXml/Count |
Number of objects deserialized from XML. |
Metrics from CEM Server
CEM server produces the following counters. Metrics are specific to CEM though BCMAPI2 is adapted to CEM as well in SP09.
Counter |
Description |
---|---|
CONTACTS/Total/CallOut |
Total number of call outs since CEM was started. Contains all kinds of outgoing calls, for example consultation calls, calls to MTD terminal, and join transfer calls. |
CONTACTS /Current/CallOut |
Current number of call outs. Contains all kinds of outgoing calls, for example consultation calls, calls to MTD terminal, and join transfer calls. |
CONTACTS /Total/WCDCallIn |
Total number of incoming calls since CEM was started. This contains only incoming calls coming from Call Dispatcher. |
CONTACTS /Current/Calls |
Current number of calls. Contains all kinds of outgoing calls and incoming calls that are coming from or going to Call Dispatcher. |
CONTACTS /Current/CallIn |
Current number of incoming calls. This contains also calls transferred internally in CEM from application to other. |
CONTACTS /Current/Chats |
Current number of chat requests. |
CONTACTS /Total/Chats |
Total number of chat requests since CEM restart. |
CONTACTS/Total/Activities |
Total number of e-mail and Action Item routing requests since CEM was started. |
CONTACTS/Current/Activities |
Current number of active e-mail and Action Item routing requests. |
AGENTS/Total/Logins |
Number of agents logged on since CEM was started. Contains CMC, ETC, and external agents too. |
AGENTS/Current/Logins |
Number of agents currently logged on. Contains CMC, ETC, and external agents too. |
RESOURCES/Current/DynamicThreadsFree |
CEM uses dynamic thread pool for state machines. This is the current number of the free threads in the pool. |
RESOURCES/Current/DynamicThreadsUsed |
CEM uses dynamic thread pool for state machines. This is the current number of the used threads in the pool. |
RESOURCES/Current/Components |
Number of internal CEM StateMachine components. |
RESOURCES/Current/InternalComponents: |
RESOURCES/Current/Components |
RESOURCES/Current/PythonThreadsTotal |
RESOURCES/Current/DynamicThreadsFree + RESOURCES/Current/DynamicThreadsUsed |
RESOURCES/Current/UnallocatedEventsQueue |
Number of unallocated contacts in queue. |
Counter |
Description |
---|---|
ERR/Error |
Number of error lines ( |
ERR/Exception |
Number of exception ( |
ERR/Warning |
Number of exception ( |
ERR/CallInRejected |
Calls CEM has rejected for technical reason, like Congestion, unknown number etc. |
ERR/Connection/ODBC |
Number of errors when accessing database. |
ERR/Connection/AgentServer |
Number of errors in connection to AgentServer. May contain also other errors disturbing the connection with the component. |
ERR/Connection/DataCollector |
Number of errors in connection to DataCollector. May contain also other errors disturbing the connection with the component. |
ERR/Connection/CallDispatcher |
Number of errors in connection to CallDispatcher. May contain also other errors disturbing the connection with the component. |
ERR/Connection/ChatServer |
Number of errors in connection to ChatServer. May contain also other errors disturbing the connection with the component. |
ERR/Connection/CemServer |
Number of errors in connection to other CEM servers. May contain also other errors disturbing the connection with the component. |
ERR/Connection/AgentLost |
Agent terminal (for example CDT) connection lost without proper shutdown events. |
ERR/Connection/AgentRecovery |
Recovery from unexpected agent terminal connection breakage. |
Counter |
Description |
---|---|
TIMER/OneSecondSleep |
How long one second sleep takes in CEM. As Python interpreter actually can execute only one thread at a time this timer tells pretty well about the current load on CEM server. |
TIMER/Connection/PollChangeTrack |
Timer for executing query for new records in the ChangeTrack table. |
TIMER/Connection/GetAgentData |
Timer for reading agent data from database. |
TIMER/Connection/SOAPCall |
Timer for SOAP calls to external services. |
Metrics from Chat Server
Counter |
Description |
---|---|
CHS_CurrentDiscussions, HS_CurrentInstantMessageDiscussions |
Current number of discussions (normal and instant=agent-to-agent). |
CHS_TotalDiscussions, CHS_TotalInstantMessageDiscussions |
Total number of discussions (normal and instant=agent-to-agent). |
CHS_TotalMessages |
Total number of posted client-to-agent chat comments. |
CHS_TotalInstantMessageMessages |
Total number of posted agent-to-agent chat comments. |
CHS_TotalDiscussionsRejectedNoSubscription |
Number of discussions rejected, no valid subscription found. |
CHS_TotalDiscussionsAcceptedByAgent |
Number of discussions accepted by agent. |
CHS_TotalDiscussionsRejectedByAgent |
Number of discussions rejected by agent. |
CHS_TotalDiscussionsRerouted |
Number of discussions rerouted by CEM. |
CHS_TotalErrorsReported |
Number of errors. |
MessagesSentDirectlyAS |
Number of messages sent normally (no buffering). |
CHS_NetworkDisconnections |
Number of lost connections. |
CHS_NetworkConnections |
Number of connections and reconnections. |
CHS_MaxQueuedMessages |
Maximum size of the internal message queue. |
CHS_MaxQueuedDatabaseMessages |
Maximum size of the internal database message queue. |
Added in SP08.
Counter | Description |
---|---|
MRS_Active_Promps | Number of prompts that MRS is currently playing |
MRS_HUBs_in_use | Number of MRS hubs that are currently in use for ongoing calls |
MRS_Recordings | Number of recordings MRS is currently performing |
Counter | Description |
---|---|
SBR_CurrentCalls | Number of current calls |
SBR_CurrentIncomingCalls | Number of incoming calls currently ongoing |
SBR_CurrentOutgoingCalls | Number of outgoing calls currently ongoing |
SBR_RejectedIncomingCalls | Total number of rejected incoming calls since component restart |