4266: Fix log processing performance.
authorTom Clegg <tom@curoverse.com>
Mon, 20 Oct 2014 21:30:30 +0000 (17:30 -0400)
committerTom Clegg <tom@curoverse.com>
Mon, 20 Oct 2014 21:30:30 +0000 (17:30 -0400)
commit2e76e6ae877fb528d666071075afe2bf4ab21035
treebd542cffc3625c71b99ed5f2a0bc3081320de51a
parent3844c251d4db322759a23a6370faefb7c8e27728
4266: Fix log processing performance.

* Remove "max log table entries per job" limit (and its horrible
  memory leak).

* When logs are coming fast, but under all throttle thresholds, group
  them into fewer rows in the logs table.

* Optimize performance by making a short code path when any threshold
  is exceeded. Now capable of ~200 MiB/s (of 100-character lines) on
  lappy386.

* Bring stream buffer back up to a reasonable size, add a comment to
  protect it from future style tweaks.

* Simplify time calculations by storing time-to-reopen-throttle
  instead of time-throttle-last-opened.

* Log "# bytes skipped" to stderr (sysadmin logs) too, not just the
  logs table.
services/api/config/application.default.yml
services/api/script/crunch-dispatch.rb