Feature #1833

Feature #44: Implement basic introspection support

Remove crashed processes from database after a (configurable) while

Added by J. Moringen almost 10 years ago. Updated over 9 years ago.

Status:ResolvedStart date:04/06/2014
Priority:NormalDue date:
Assignee:J. Moringen% Done:

100%

Category:Introspection
Target version:rsb-0.11

Associated revisions

Revision 708c28e2
Added by J. Moringen over 9 years ago

Added remote introspection in src/introspection/remote-introspection.lisp

fixes #1744, fixes #1830, fixes #1833

The remote introspection implementation consists of three layers:
  • `introspection-receiver' handles the event protocol and dispatches
    broadcasts and replies
  • database object classes `{participant,process,host}-entry' are stored
    and maintained in a `remote-introspection-database'
  • `remote-introspection' is a participant class that ties everything
    together by instantiating and configuring `introspection-receiver'
    instances and a database and performing timed updates.
  • src/introspection/protocol.lisp (database-change-hook): new generic
    function; return the change hook of an introspection database object
    (introspection-survey): new generic function; survey remote objects
    (introspection-ping): new generic function; ping a remote object
    (entry-info): new generic function; return info instance associated to
    entry object
    (entry-parent): new generic function; return parent entry of an entry
    (entry-children): new generic function; return child entries of an
    entry
  • src/introspection/mixins.lisp (change-hook-mixin): new class; can be
    mixed into database classes to provide a change hook
    (database-change-hook): new method; return database change hook
  • src/introspection/remote-introspection.lisp: new file; contains remote
    introspection implementation with `introspection-receiver',
    `{participant,process,host}-entry', `remote-introspection-database'
    and `remote-introspection' classes
  • src/introspection/package.lisp (package rsb.introspection): added
    imported-from rsb.patterns.request-reply symbols remote-call-error,
    future-done? future-result, server-method and call; added exported
    symbols database-change-hook, introspection-survey,
    introspection-ping, entry-info, participant-entry, entry-parent,
    entry-children, process-entry and host-entry
  • test/introspection/remote-introspection.lisp: new file; unit tests for
    remote introspection functionality
  • test/introspection/package.lisp (package rsb.introspection.test):
    added imported-from rsb.introspection symbol
    remote-introspection-database
  • rsb-introspection.asd (system rsb-introspection): added file
    src/introspection/remote-introspection.lisp
    (system rsb-introspection-test): added file
    test/introspection/remote-introspection.lisp

History

#1 Updated by J. Moringen almost 10 years ago

  • Subject changed from Remove crashed processes from database after a while to Remove crashed processes from database after a (configurable) while

#2 Updated by J. Moringen almost 10 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 50

#3 Updated by J. Moringen over 9 years ago

  • Category changed from Common Lisp to Introspection

#4 Updated by J. Moringen over 9 years ago

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

Also available in: Atom PDF