ePages 6.11.0 - DE_EPAGES/WebInterface/API/RequestRouterMonitor.pm

Package DE_EPAGES::WebInterface::API::RequestRouterMonitor

This module provides status and debug information from the request router.

Functions

close
debug
getTransactionID
new
pools
requestRouters
resetStatisticsForAllPools
resetStatisticsForPool
servers

close

Closes the connection to message center.

Syntax
$Monitor->close;

debug

Returns the list of application servers that are managed by the request router including the pending cache update data.

Syntax
$aServers = $Monitor->debug;
Return
$aServers (ref.array.hash)
list of application servers
  • see servers
  • CacheItemsLenght - size of the cache update data in bytes - int
  • CacheItems - cache items - ref.array.string

getTransactionID

Returns the latest processed transaction id from the transactionlog table.

Syntax
$TransactionID = $Monitor->getTransactionID;

new

Creates a new RequestRouterMonitor object and establish a connection to the MONITOR port of the request router.

Syntax
$Monitor = DE_EPAGES::WebInterface::API::RequestRouterMonitor->new(
    Address => $Address,
    Port    => $Port
);
Input
$Address (string)
IP address
$Port (int)
Port Number
Return
$Monitor (object)
the new RequestRouterMonitor object

pools

Returns the list of application seerver pools, including statistics.

Syntax
$aPools = $Monitor->pools;
Return
$aPools (ref.array.hash)
list of application servers
  • Name - pool name - string
  • CountServer - number of application servers - int
  • IdleServer - number of application servers in state 'idle' - int
  • AssignedServer - number of application servers in state 'assigned' - int
  • WorkingServer - number of application servers in state 'working' - int
  • MonitorServer - number of application servers in state 'monitor' - int
  • ShutdownServer - number of application servers in state 'shutdown' - int
  • Hits - total number of sucessfully routed request - int
  • Misses - number of request that were delayed, because all
    application servers were already in use - int
  • Timeouts - number of request that exceeded the maximum number of retries
    while attempting to find an idle applicatiuon server
  • CountMC - number of request routers - int
  • CountServerCache - number of cache items currently in the
    queue for application servers - int
  • CountMCCache - number of cache items currently in the queue
    for request routers - int
  • ClientIP - number of application servers that were assigned
    based on the IP addess of the client - int
  • SiteGuid - number of application servers that were assigned
    based on the URL of the shop - int
  • Performance - number of application servers that were
    assigned based on perfomance statistics - int
  • LimitByExtension - the maximum number of application servers
    per URL extension has been exceeded - int
  • LimitBySite - the maximum number of application servers
    per site has been exceeded - int
  • LimitBySpecialSite - the maximum number of application servers
    per specific site has been exceeded - int
  • LimitByClient - the maximum number of application servers
    per client IP has been exceeded - int
  • UniqueMisses - number of request that were delayed, because all
    application servers were already in use, multiple tries of the
    same request count as one - int

requestRouters

Returns the list of peer request routers.

Syntax
$aRequestRouters = $Monitor->requestRouters;
Return
$aRequestRouters (ref.array.hash)
list of request routers
  • ServerIP - request router IP address - string
  • ServerPort - request router MESSAGECENTER port number - int
  • Status - request router status (new|down|up) - string
  • LastContact - seconds since the last successful message exchange - int

resetStatisticsForAllPools

Reset the statistic for all database pools.

Syntax
$Monitor->resetStatisticsForAllPools();

resetStatisticsForPool

Reset the statistic for a specific database pool.

Syntax
$Monitor->resetStatisticsForPool($PoolName);
Input
$PoolName (string)
name of database pool

servers

Returns the list of application servers that are managed by the request router.

Syntax
$aServers = $Monitor->servers;
Return
$aServers (ref.array.hash)
list of application servers
  • Pool - name of the application server pool - string
  • ServerIP - application server IP address - string
  • ServerPort - application server port number - int
  • PID - application server process id - int
  • Status - application server status (idle|down|assigned|working|monitor) - string
  • LastContact - seconds since the last request or heartbeat - int
  • Hits - number of requests that have been processed so far - int
  • LongRequests - number of requests with a processing time of more than 5 seconds - int
  • QualityHits - number of requests with a processing time of less than 5 seconds
    and also excluding requests that are marked as 'monitor' - int
  • Mean - average processing time per reques (counting only
    requests that fall into the MeanReq category) - int
  • Overflow - the number of pending cache items has exceeded MAXCACHEITEMS - boolean
  • CacheItemCount - number of pending cache items - int
  • SiteGUID - GUID of the site (e.g. shop) of the most recently processed request - string
  • URL - URL of the most recently processed request - string
  • ClientIP - client IP address - string
  • Extension - URL extension of the most recently processed request - string
  • StoreName - store name of the most recently processed request - string
  • Priority - priority of the application server - int
  • LastUse - time in seconds since the application server was used - int