Althttpd

Check-in [7e5bdccc2b]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:New section in the logview report gives stats on robots.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 7e5bdccc2bdcfe36465abf66a7e20981db0f6e3c261678c7aa5a91d9d1fa702c
User & Date: drh 2024-07-29 14:31:40.913
Context
2024-07-29
14:35
Fix typo in Robot Stats of logview. ... (check-in: 03c7360869 user: drh tags: trunk)
14:31
New section in the logview report gives stats on robots. ... (check-in: 7e5bdccc2b user: drh tags: trunk)
11:17
Ensure that the "children user time" in the log is at least 1 microsecond if any CGI program was invoked. This allows logfile analysis programs to correctly identify CGI requests by observing a non-zero "children user time". ... (check-in: a3e120b334 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to logview.
320
321
322
323
324
325
326









































327
328
329
330
331
332
333
      <tr><td colspan=4><i>None</i>
    }
  }
  wapp-trim {
    </table>
  }
}










































proc wapp-default {} {
  check-perms
  open-database
  wapp-trim {
    <div class='fossil-doc' data-title='Recent Server Activity'>
  }







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
      <tr><td colspan=4><i>None</i>
    }
  }
  wapp-trim {
    </table>
  }
}

proc robot-analysis {} {
  set ctotal 0
  set cbot 0
  db eval {SELECT count(*) AS ctotal, sum(lineno=2) AS cbot FROM log} break
  if {$cbot<0.01*$ctotal} return
  set cpct [format %.1f%% [expr {$cbot*100.0/$ctotal}]]
  wapp-trim {
    <h2>Robot Stats</h2>
    <p>
    <ul>
    <li> %html($cbot) out of %html($ctotal) requests (%html($cpct))
         returned a captcha
  }
  db eval {SELECT sum(robot is true) as nbot FROM log} break
  set npct [format %.1f%% [expr {$nbot*100.0/$ctotal}]]
  wapp-trim {
    <li> %html($nbot) out of %html($ctotal) requests (%html($npct))
         where from robots.
  }
  set nip [db one {SELECT count(DISTINCT ip) FROM log}]
  set nrobotip [db one {SELECT count(DISTINCT ip) FROM log WHERE robot}]
  wapp-trim {
    <li> %html($nrobotip) out of %html($nip) distinct IP addresses are robots.
  }
  db eval {SELECT round(sum(nIn+nOut)/1000000.0,1) AS ios,
                  round(sum(t1+t2+t3+t4)/1000000.0,1) AS tm FROM log} break
  db eval {SELECT round(sum(nIn+nOut)/1000000.0,1) AS rios,
                  round(sum(t1+t2+t3+t4)/1000000.0,1) AS rtm FROM log
            WHERE robot} break
  set iospct [format %.1f%% [expr {$rios*100.0/$ios}]]
  set tmpct [format %.1f%% [expr {$rtm*100.0/$tm}]]
  wapp-trim {
    <li> %html($rios)MB out of %html($ios)MB bandwidth (%html($iospct))
         is due to robots
    <li> %html($rtm) out of %html($tm) seconds of CPU (%html($tmpct))
         is deal with robots
  }

  wapp-trim {</ul>}
}

proc wapp-default {} {
  check-perms
  open-database
  wapp-trim {
    <div class='fossil-doc' data-title='Recent Server Activity'>
  }
345
346
347
348
349
350
351

352
353
354
355
356
357
358
    <ul>
    <li> Start time: %html%($first)%
    <li> End time: %html%($last)%
    <li> Duration: %html%([format %.1f [expr {$seconds/60.0}]])% minutes
    </ul>
  }
  traffic-by-domain

  human-traffic-by-domain
  cpu-users
  high-bandwidth
  most-hits
  db close
}








>







386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
    <ul>
    <li> Start time: %html%($first)%
    <li> End time: %html%($last)%
    <li> Duration: %html%([format %.1f [expr {$seconds/60.0}]])% minutes
    </ul>
  }
  traffic-by-domain
  robot-analysis
  human-traffic-by-domain
  cpu-users
  high-bandwidth
  most-hits
  db close
}