Tasks #880
Implement timeline-ish formatting style
Status: | Resolved | Start date: | 02/15/2012 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | J. Moringen | % Done: | 100% | |
Category: | Common Lisp Tools | |||
Target version: | rsb-0.7 |
Description
It would be cool to have a formatting style producing a timeline-like view similar to the following:
Scope ↓now ↓-1 s ↓-2 s ↓-3 s ↓-4 s /audio/card0/ |━ | /nao/audio/all/ |◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾ ◾◾ ◾ | /nao/odometry/ |⋯╌⋯╌⋯⋯╌⋯╌⋯╌⋯╌⋯⋯╌⋯╌⋯╌⋯╌⋯⋯╌⋯╌⋯╌⋯╌⋯╌⋯╌⋯╌⋯╌⋯⋯╌⋯╌·╌╌⋯╌⋯╌⋯╌⋯╌⋯⋯╌| /nao/proprioception/ |···· ··· ··· ······ ····· ····· ····· ····· ····· ····· ··| /nao/system/battery/ | · | /nao/system/cpumemory/ | · · · · · · · · · | /nao/system/modules/ | · · · · · | /nao/system/temperatures/ | · · · · | /nao/vision/top/ |╍╍◾╍◾∞◾◾╍◾╍◾╍∞◾╍◾╍◾╍◾╍╍◾╍╍◾╍╍╍◾◾╍◾╍◾╍◾╍╍◾╍◾◾╍◾╍◾∞◾╍╍◾╍╍◾╍╍|
Associated revisions
Removed support for :self in formatting/delegating-mixin.lisp
refs #873, #880
refs #873, #880
- formatting/protocol.lisp (delegate): new generic function; delegate
to a sub-style of a formatting style - formatting/delegating-mixin.lisp (delegating-mixin): the sub-styles
initarg is no longer required
(delegating-mixin::sub-styles): added initarg
(shared-initialize :after delegating-mixin t): removed; special
initialization is no longer required
(setf style-sub-styles :around sequence delegating-mixin): removed;
special setter behavior is no longer required
(delegate t delegating-mixin t): new method; delegate to sub-style
(format-event t delegating-mixin t): call `delegate' method - formatting/event-style-compact.lisp (define-compact-style): define a
method on `format-header' - formatting/package.lisp (package :rsb.formatting): added exported
symbol delegate
Added format-header in formatting/protocol.lisp
refs #873, #880
refs #873, #880
- formatting/protocol.lisp (format-header): new generic function;
format a header for a thing onto a formatting target - formatting/columns-mixin.lisp (format-header columns-mixin t): use
`format-header' for individual columns - formatting/columns.lisp (basic-column): new class; superclass for
column classes
(format-header basic-column t): new method; format column name as
header
(define-simple-column): add superclass `basic-column' - formatting/quantity-column.lisp (format-header quantity-column t):
new method; print column name and, later, unit, if available - formatting/package.lisp (package rsb.formatting): added exported
symbols format-header and basic-column
Added grouping-mixin in formatting/grouping-mixin.lisp
refs #873, #880
refs #873, #880
- formatting/grouping-mixin.lisp: new file; contains
`grouping-mixin' mixin class - formatting/protocol.lisp (make-sub-style-entry): new generic
function; create a sub-style entry for a style - formatting/package.lisp (package rsb.formatting): added exported
symbols make-sub-style-entry, grouping-mixin, style-key and
style-test - cl-rsb-formatting.asd (system cl-rsb-formatting): added file
formatting/grouping-mixin.lisp
Added class column-constant in formatting/columns.lisp
refs #873, #880
refs #873, #880
- formatting/columns.lisp (column-constant): new class; emit constant
value
(format-event t column-constant t): new method; emit the value - formatting/package.lisp (package rsb.formatting): added exported
symbols column-constant, column-value and column-formatter
Added protocol and mixin in formatting/temporal-bounds-mixin.lisp
refs #880
refs #880
- formatting/types.lisp (timestamp/unix/nsec): new type; used by
temporal bounds protocol
(time-spec/variable): likewise
(time-spec/operator): likewise
(time-spec): likewise
(time-spec-p): new function; helper for type `time-spec'
(bounds-spec): new type; used by temporal bounds protocol - formatting/protocol.lisp (lower-bound): new generic function; part
of temporal bounds protocol
(setf lower-bound): likewise
(upper-bound): likewise
(setf upper-bounds): likewise
(bounds): likewise
(bounds/expanded): likewise
(range/expanded): likewise - formatting/temporal-bounds-mixin.lisp: new file; contains
`temporal-bounds-mixin' mixin class - formatting/package.lisp (package rsb.formatting): added exported
symbols timestamp/unix/nsec, time-spec, bounds-spec, lower-bound,
upper-bound, bounds, bounds/expanded, range/expanded and
temporal-bounds-mixin - cl-rsb-formatting.asd (system cl-rsb-formatting): added file
formatting/temporal-bounds-mixin.lisp
Added collects? protocol function in formatting/protocol.lisp
refs #880
refs #880
- formatting/protocol.lisp (collects?): new generic function;
determine whether a things collects data or formats events
immediately - formatting/periodic-printing-mixin.lisp
(collects? periodic-printing-mixin): new method; indicate that
instances collect events before producing output - formatting/quantity-column.lisp (collects? quantity-column):
likewise
(format-event :around t quantity-column t): new method; delegate
non-trigger events to `update!'
(format-event t quantity-column t): new method; required for
dispatch; should not get called - formatting/event-style-statistics.lisp
(statistics-columns-mixin::quantities): removed; no longer needed
for dispatching
(setf style-columns :after t statistics-columns-mixin): likewise
(format-event :around t statistics-columns-mixin t): use `collects?'
and `format-event' for dispatching - formatting/package.lisp (package rsb.formatting): added exported
symbol collects?
Added timeline stuff in formatting/{,event-style-}timeline.lisp
fixes #880
fixes #880
- formatting/util.lisp (timestamp->unix/nsecs): new function; utility
function - formatting/timeline.lisp: new file; contains a timeline column
- formatting/event-style-timeline.lisp: new file; contains two
timeline-based event formatting styles - cl-rsb-formatting.asd (system cl-rsb-formatting): added file
formatting/timeline.lisp
(system connection cl-rsb-formatting-and-cl-rsb-stats): added file
formatting/event-style-monitor.lisp - CMakeLists.txt: added test cases for timeline styles
Fixed deps of formatting/timeline.lisp in cl-rsb-formatting.asd
refs #880
refs #880
- cl-rsb-formatting.asd (system cl-rsb-formatting): removed file
formatting/timeline.lisp
(system connection cl-rsb-formatting-and-cl-rsb-stats): added file
formatting/timeline.lisp
History
#1 Updated by J. Wienke over 12 years ago
Actually we have exactly this as a python gui tool ;)
#2 Updated by J. Wienke over 12 years ago
#3 Updated by J. Moringen over 12 years ago
Johannes Wienke wrote:
Yes, I know that project. Writing "It would be cool" is just my kind of humor.
Seriously though:- The graphical event visualization has rather heavy dependencies (in my opinion)
- It is inconvenient to obtain another tool in order to inspect a system (in my opinion)
- In my tests, the graphical event visualization died under heavy load and produced quite some load itself
- In my tests, the graphical event visualization died on unexpected payload types
- The described formatting style could be modularly integrated into other styles
(like the column-based statistics style or the scope monitor scope)
#4 Updated by J. Wienke over 12 years ago
Sure, bugs are expected. This is a very first version and phillip will continue to work on it when he's back from holidays.
Apart from the dependencies, I am sure there are more visualization and interaction possibilities with a graphical tool. But these are not implemented right now.
#5 Updated by J. Moringen over 12 years ago
- Target version set to rsb-0.7
#6 Updated by J. Moringen over 12 years ago
- % Done changed from 50 to 80
#7 Updated by J. Moringen about 12 years ago
- Status changed from In Progress to Resolved
- % Done changed from 80 to 100
Applied in changeset r3537.