Enhancement #1918
Add an option to logger monitor style to discard empty scopes
Status: | Resolved | Start date: | 07/18/2014 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | Common Lisp Tools | |||
Target version: | - |
Description
Please add an option to the CL logger to remove scopes from the monitor (and possibly other comparable styles like timeline) view that have not received messages for n seconds.
Associated revisions
Pruning of inactive sub-styles in formatting/style-mixins.lisp
fixes #1918
Sub-styles of monitor styles track their most recent activity via
`activity-tracking-mixin' and the monitor style prunes sub-styles via
`activity-based-sub-style-pruning-mixin'.
- formatting/protocol.lisp (style-prune-predicate): new generic
function; return prune predicate of a style
(setf style-prune-predicate): new generic function; set prune
predicate of a style
(prune-sub-styles): new generic function; remove sub-style according
to prune predicate - formatting/style-mixins.lisp (activity-tracking-mixin): new class;
stores time of most recent activity
(format-event :around t activity-tracking-mixin t): new method; update
time of most recent activity
(sub-style-pruning-mixin): new class; adds pruning of dynamically
created sub-styles
(prune-sub-styles sub-style-pruning-mixin): new method; prune
sub-styles according to prune predicate
(format-event :before eql :trigger sub-style-pruning-mixin t): new
method; prune sub-styles before producing output
(activity-based-sub-style-pruning-mixin): new class; specialized
sub-style pruning based on time of most recent activity
(shared-initialize :after activity-based-sub-style-pruning-mixin t):
new method; accept pruning threshold or predicate
(prune-after): new function; helper function for constructing
activity-time-based pruning predicates - formatting/event-style-monitor.lisp (basic-monitor-line-style): new
class; statistics columns with activity tracking
(basic-monitor-style): added superclass
`activity-based-sub-style-pruning-mixin'
(make-sub-style-entry basic-monitor-style t): instantiate
`basic-monitor-line-style' - formatting/package.lisp (package rsb.formatting): added exported
symbols style-prune-predicate, prune-sub-styles,
sub-style-pruning-mixin, activity-based-sub-style-pruning-mixin,
activity-tracking-mixin and style-last-activity - test/formatting/style-mixins.lisp
(test suite activity-based-sub-style-pruning-mixin-root): new test
suite; for `activity-based-sub-style-pruning-mixin' class
(test activity-based-sub-style-pruning-mixin-root::construct): new
test; test construction of `activity-based-sub-style-pruning-mixin'
instances - test/formatting/package.lisp (package rsb.formatting.test): added used
package more-conditions
Mention sub-style pruning in CL logger in news.rst
refs #1918
- news.rst (RSB 0.11): mention that the CL logger can now prune
sub-styles after inactivity
History
#1 Updated by J. Moringen almost 10 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Applied in changeset rsb-tools-cl|18940168ac72d10e99f1401ddcaf8a43a6eaf382.
#2 Updated by J. Moringen almost 10 years ago
Configure pruning like this:
$ rsb-loggercl --style 'monitor/type :prune-after 5' socket:
Pruning threshold is in seconds.
#3 Updated by J. Wienke almost 10 years ago
Nice, thanks