		OpenText FirstClass Web Services 12.1.0

		Statistical Collector Release Notes

FCWS 12.1.0 has enhanced statistical collection and display capabilities designed to fine tune
and debug any performance issues that may be encountered during operation. Due to UI limitations
currently it is possible to display only a critical subset of statistics. Future UI enhancement
will expose the full set of data available from the statistical collector.

Current capabilities include the following:

1) Obtaining configuration info
2) Monitoring system thread activity
3) Monitoring individual thread activity
4) Monitoring session activity


1.Obtaining configuration info 

Obtaining FCWS basic configuration info via a simple HTTP GET command:

GET /?Config

returns:

FirstClass Server port number: 510
WebSocket connections: ENABLED
Network is secure: HTTPS is not mandatory for security critical operations
Validation key: ENFORCED
Outbound HTML is sanitized: NO
Watch-dog task interval: 60 seconds
Session timeout: 120 minutes
Delayed disconnect timeout: 2 seconds
Logging level: DEBUG
Valid FirstClass Servers:
             default : 192.168.15.75
            Morpheus : 192.168.124.88
                FCOL : fc.firstclass.com
Alternate FirstClass Authentication Servers:
                       fc.firstclass.com
                           192.168.15.75
                          192.168.124.88
External Integration Services Host: 192.168.120.61 on port 7000 (connect timeout 5 seconds)
Thread counting: ON
Warn if thread runs longer than 120 seconds
Warn if session continually issues more than than 4 requests per seconds
Supported Languages:
               French
               English
               German
               Italian
               Danish
               Finish
               Japanese
               Spanish
               Dutch,Flemish
               Norwegian
               Swedish  

GET /?Config&ReplyAsJSON

returns: 
{"Configuration":{"AuthenticationFCServers":"fc.firstclass.com;192.168.15.75;192.168.124.88;",
		"MustUseVKey":"1",		 
		"MaximumSessionActivity":"4",
		"TraceComponents":"HTTP;HTTP-IN|votovic;EIS-RQ|votovic,barb,ron;",
		"ValidFCServers":"default,192.168.15.75;Morpheus,192.168.124.88;
		"SanitizeOutbound":"0",
		"cssTheme":"firstclass",
		"MaximumThreadActivity":"120",
		"NetworkIsSecure":"1",
		"SessionTimeout":"120 ",
		"WebSocketEnabled":"1",
		"FCSPort":"510",
		"LoggingLevel":"DEBUG",
		"EISHost":"192.168.120.61",
		"DelayedDisconnectTimeout":"2",
		"SanitizerConfigFile":"None",
		"EISPort":"7000",
		"ThreadCounting":"1",
		"WatchDogInterval":"1",
		"EISConnectTimeout":"5"}}

2. Monitoring system thread activity

FCWS can count the number of active HTTP and HTTPS threads in the system. Setting the following parameter
to a value of 1 in the fcws.cfg file turns threads counting and monitoring ON.

ThreadCounting=1

Current threads count can be obtained with the following HTTP GET command:

GET /?ThreadCount=GET

returns: 

System Thread Count
sessions            :0
threads             :1
ssl_threads         :0
thread_pool_size    :10
ssl_thread_pool_size:10

GET /?ThreadCount=GET&ReturnAsJSON

returns:

{"SESSION":{"threadcount":{"users":0,"threads":1,"ssl_threads":0,"thread_pool_size":10,"ssl_thread_pool_size":10}}}

When threads counting is turned ON and if at any time th thread count reaches the maximum for a given thread pool,
a message in the log will alert to this condition:

"WARNING: All HTTP threads in use!!"

or

"WARNING: All HTTPS threads in use!!"

This warning is intended to alert to either insufficient thread pool capacity for given site or to a possible 
denial-of-service attack.

3. Monitoring individual thread activity

Part of monitoring thread activity is also ability to warn if any thread that runs longer than number of seconds 
specified by the MaximumThreadActivity parameter in the fcws.cfg file. For example setting:

MaximumThreadActivity=120

would cause any thread that runs longer to log the following warning:

"WARNING: Unreleased thread ID: 1234567"


4. Monitoring session activity 

Part of monitoring session activity is ability to warn if any session is issuing more than N requests/second 
in an interval between 2 consecutive watch-dog-timer scans. (This is configurable an is 60 seconds minimum).
N is specified by the MaximumSessionActivity parameter in the fcws.cfg file. For example setting:

MaximumSessionActivity=4

would cause any session that exceeds the limit of 4 req/sec to log a warning:

"WARNING: Hyper-active session! [280 requests in 60 secs]"

This is intended to detect any denial-of-service behaviour of any particular session.


5. External Integration Services status

EIS module connectivity status can be obtained with the following HTTP GET command:

GET /?EISStatus

which returns:

OpenText FC WebServer 12.1.0.030 (FC WebAPI 1) (Windows)
External Integration Services Host: 192.168.120.153 on port 7000 (connect timeout 10 seconds)
Status: CONNECTED - Data port: 7001

or, depending on EIS state:

OpenText FC WebServer 12.1.0.030 (FC WebAPI 1) (Windows)
External Integration Services is not configured on this web server.

or:

OpenText FC WebServer 12.1.0.030 (FC WebAPI 1) (Windows)
External Integration Services Host: 192.168.120.153 on port 7005 (connect timeout 10 seconds)
Status: NOT CONNECTED   
