Enhancement #1779

Logger's timeline view should be able to display events with "off" timestamps

Added by J. Moringen over 7 years ago. Updated over 7 years ago.

Status:ResolvedStart date:02/18/2014
Priority:NormalDue date:
Assignee:J. Moringen% Done:

100%

Category:Common Lisp Tools
Target version:rsb-0.10

Description

  • timestamps from the recent past
  • timestamps from the near future

logger.png (22 KB) J. Moringen, 02/18/2014 07:15 PM

Associated revisions

Revision 4f2aa8bc
Added by J. Moringen over 7 years ago

Allow out-of-order updates of cells in formatting/timeline.lisp

fixes #1779

Previously, newly added cells would be updated once when processing a
batch of events and then never again leading to dropping of events (or
batches) which were processed out-of-order (w.r.t. to the configured
timestamp). Now, cells can be updated after their initial population.

  • formatting/timeline.lisp (%cell): added slots count and max-size
    (cell-glyph): new function; return cached glyph or compute glyph
    (%cell-update): new function; update count and max-size slots and
    clear cached glyph
    (glyph-for-data): new function; based on `glyph-for-events'
    (timeline::events): removed initarg; renamed accessor style-{events ->
    %events}; mention sorting requirement
    (format-event eql :trigger timeline t): use `cell-glyph'; do not pop
    off first cache element for update since it is now mutable
    (format-event :around t timeline t): use `merge' to sort queued events
    (fill-cache!): re-visit cache cells if necessary; removed much of the
    intricate update logic which became unnecessary
    (glyph-for-events): removed; replaced by `glyph-for-data'

Revision 8eccec09
Added by J. Moringen over 7 years ago

Allow out-of-order updates of cells in formatting/timeline.lisp

fixes #1779

Previously, newly added cells would be updated once when processing a
batch of events and then never again leading to dropping of events (or
batches) which were processed out-of-order (w.r.t. to the configured
timestamp). Now, cells can be updated after their initial population.

  • formatting/timeline.lisp (%cell): added slots count and max-size
    (cell-glyph): new function; return cached glyph or compute glyph
    (%cell-update): new function; update count and max-size slots and
    clear cached glyph
    (glyph-for-data): new function; based on `glyph-for-events'
    (timeline::events): removed initarg; renamed accessor style-{events ->
    %events}; mention sorting requirement
    (format-event eql :trigger timeline t): use `cell-glyph'; do not pop
    off first cache element for update since it is now mutable
    (format-event :around t timeline t): use `merge' to sort queued events
    (fill-cache!): re-visit cache cells if necessary; removed much of the
    intricate update logic which became unnecessary
    (glyph-for-events): removed; replaced by `glyph-for-data'

Revision f4c6694f
Added by J. Moringen over 7 years ago

Mention past/future fix in logger's timeline view in news.rst

refs #1779

  • news.rst (RSB 0.11): mention that timeline view now handles events
    with past/future timestamps

Revision 5c66acf6
Added by J. Moringen over 7 years ago

Timeline shows one second of future time in formatting/timeline.lisp

refs #1779

With the previous upper bound of "now", events could be dropped when the
timing was slightly off.

  • formatting/timeline.lisp (timeline): added default initarg upper-bound
    to set upper bound one second into the future
  • formatting/event-style-timeline.lisp (basic-timeline-style): likewise;
    is needed to be passed to sub-styles

History

#1 Updated by J. Moringen over 7 years ago

#2 Updated by J. Moringen over 7 years ago

  • Status changed from In Progress to Resolved
  • % Done changed from 0 to 100

Applied in changeset rsb-tools-cl|commit:4f2aa8bc4c6bfafe6375ad867d8b6e770dc07f4c.

Also available in: Atom PDF