XoTCL Request Monitor

This package implements a performance monitor for ]project-open[. It computes performance summary information such as requests/views per seconds, average response time, number of users connected, lists currently active threads, etc. Furthermore it can block automated web-bots etc. It provides as well some user tracking ("who's-online") with activity measures, it blocks repeated requests (impatient reloads), tracks switching of IP-addresses from users and provides request tracking per user for the monitored time window.

Example Output

Active Users: 12 users (11 authenticated) active in last 10 minutes, 402 (401 authenticated) in last 24 hours parameters
Current System Activity: 0.3 views/sec, 1.417 views/min/user, avg. view time: 42.4
Current System Load: 0.09 0.04 0.05 1/954 12323
Current Avg Response Time/sec: 0.050 (last minute), 4.376 (last 30 minutes), 0.494 (last hour), 7.444 (last 24 hours)
Threads: 2/0/0 Request(s) currently running, #connection threads 32 idle 30, min 32 max 32 
avg. #connection threads 32.00, avg. busy 4.15
Summaries: Aggregated URL Statistics, Last 100 Requests, Throttle Statistics

Page View Statistics

 
22:01:30
22:01:20
22:01:10
22:01
22:50
16
14
12
10
8
6
4
2
0
Views per Second
Max
Tue Mar 26 10:32:27 IST 2019 60
Tue Mar 26 13:58:16 IST 2019 58
Tue Mar 26 10:42:51 IST 2019 55
Tue Mar 26 18:04:05 IST 2019 53
Tue Mar 26 10:32:28 IST 2019 51
 
10.00pm
9.50pm
9.40pm
9.30pm
9.20pm
45
40
35
30
25
20
15
10
5
0
Views per Minute
Max
Mon Mar 25 09:44:28 IST 2019 329 ( 5.48 rps)
Mon Mar 25 10:31:28 IST 2019 324 ( 5.40 rps)
Mon Mar 25 10:09:28 IST 2019 312 ( 5.20 rps)
Mon Mar 25 14:54:28 IST 2019 291 ( 4.85 rps)
Tue Mar 26 09:36:29 IST 2019 269 ( 4.48 rps)
 
6pm
12am
6am
Fri
6pm
12am
6am
Thu
8000
7000
6000
5000
4000
3000
2000
1000
0
Views per Hour
Max
Mon Mar 25 10:32:26 IST 2019 8026 ( 2.23 rps)
Mon Mar 25 09:32:26 IST 2019 4897 ( 1.36 rps)
Tue Mar 26 10:40:13 IST 2019 4685 ( 1.30 rps)
Tue Mar 26 11:40:13 IST 2019 4247 ( 1.18 rps)
Mon Mar 25 11:32:26 IST 2019 4005 ( 1.11 rps)

Active Users

 
10.00pm
9.50pm
9.40pm
9.30pm
9.20pm
14
12
10
8
6
4
2
0
Users per Minute
Max
Mon Mar 25 10:23:28 IST 2019 49
Mon Mar 25 10:07:28 IST 2019 48
Tue Mar 26 10:13:13 IST 2019 47
Tue Mar 26 10:17:13 IST 2019 47
Tue Mar 26 10:18:13 IST 2019 47
 
6pm
12am
6am
Fri
6pm
12am
6am
Thu
35
30
25
20
15
10
5
0
Users per Hour
Max
Mon Mar 25 10:32:26 IST 2019 36
Tue Mar 26 11:40:13 IST 2019 35
Tue Mar 26 10:40:13 IST 2019 34
Tue Mar 26 16:40:13 IST 2019 34
Tue Mar 26 09:32:26 IST 2019 32

Avg. Response Time in milliseconds

 
10.00pm
9.50pm
9.40pm
9.30pm
9.20pm
120000
100000
80000
60000
40000
20000
0
Avg. Response 
Time per Minute
Max
Tue Mar 26 09:35:29 IST 2019 841534
Tue Mar 26 08:51:29 IST 2019 499705
Mon Mar 25 23:41:28 IST 2019 470455
Tue Mar 26 08:41:29 IST 2019 468696
Mon Mar 25 23:42:28 IST 2019 397050
 
6pm
12am
6am
Fri
6pm
12am
6am
Thu
80000
70000
60000
50000
40000
30000
20000
10000
0
Avg. Response 
Time per Hour
Max
Tue Mar 26 00:32:26 IST 2019 80766
Tue Mar 26 09:32:26 IST 2019 18678
Tue Mar 26 05:32:26 IST 2019 12905
Mon Mar 25 18:32:26 IST 2019 9883
Tue Mar 26 06:32:26 IST 2019 8798

 

Package Documentation 

Procedure Files

tcl/callback-procs.tcl       Procs to support a simple callback mechanism that allows other applications to register callbacks triggered when objects, like groups, in the subsite application are created. 
tcl/throttle_mod-procs.tcl       <p>This file defines the following Objects and Classes: ::throttle<a href='/xotcl/show-object?show_methods=1&amp;show_source=0&amp;object=%3a%3athrottle'><img src='/resources/acs-subsite/ZoomIn16.gif' alt='[i]' border='0'></a>, ::Counter<a href='/xotcl/show-object?show_methods=1&amp;show_source=0&amp;object=%3a%3aCounter'><img src='/resources/acs-subsite/ZoomIn16.gif' alt='[i]' border='0'></a>, ::Users<a href='/xotcl/show-object?show_methods=1&amp;show_source=0&amp;object=%3a%3aUsers'><img src='/resources/acs-subsite/ZoomIn16.gif' alt='[i]' border='0'></a> 

Procedures

::throttle ::Counter proc set_in_all_instances       A helper function to set in all (direct or indirect) instances an instance variable to the same value. 
::throttle ::Users proc active       Return a list of lists containing information about current users. 
::throttle ::Users proc hits        
::throttle ::Users proc last_pa        
::throttle ::Users proc nr_active        
::throttle ::Users proc nr_users_time_window        
::throttle ::Users proc user_is_active        
::throttle proc check       This method should be called once per request that is monitored. 
callback::subsite::parameter_changed::impl::xotcl-request-monitor       Implementation of subsite::parameter_changed for xotcl-request-monitor 
string_truncate_middle       cut middle part of a string in case it is to long 

SQL Files

Content Pages

www/
      active-communities.adp
      active-communities.tcl Displays active commnities
      flush-url-statistics.tcl delete a revision of the content repository
      index.adp
      index.adp-gn
      index.tcl present usage statistics, active users, etc
      ip-info.adp
      ip-info.tcl Displays information about an ip address
      last-requests.adp
      last-requests.tcl Displays last requests of a user
      last100.adp
      last100.tcl Displays last 100 requests in the system
      last101.tcl Displays last 100 requests in the system
      long-calls.adp
      long-calls.tcl Displays last n lines of long-calls log
      running.adp
      running.tcl Displays last requests of a user
      stat-details.adp
      stat-details.adp-old
      stat-details.tcl Displays last requests of a user
      stat-details.tcl-old Displays last requests of a user
      throttle-statistics.adp
      throttle-statistics.tcl present throttle statistics, active users, etc
      users-in-community.adp
      users-in-community.tcl Displays active users in a community
      whos-online-today.adp
      whos-online-today.tcl Displays who was online today
      whos-online.adp
      whos-online.adp-old
      whos-online.tcl Displays who's currently online
      whos-online.tcl-old Displays who's currently online
   

  Contact Us
  Project Open Business Solutions S.L.

Calle Aprestadora 19, 12o-2a

08902 Hospitalet de Llobregat (Barcelona)

Spain

 Tel Europe: +34 609 953 751
 Tel US: +1 415 200 2465
 Mail: info@project-open.com