Tasks #1994

Enhancement #1976: Web interface for introspection

Specify JSON format for information exchange between Javascript-client and introspection server

Added by J. Moringen over 9 years ago. Updated over 8 years ago.

Status:ResolvedStart date:09/14/2014
Priority:NormalDue date:
Assignee:J. Moringen% Done:

100%

Category:Introspection
Target version:rsb-0.13

Description

Current draft looks like this:

{
   hosts: [
      {
         id: "22257d2a23c7721f8215eeee53fe425d",
         hostname: "fuchsit",
         "clock-offset": {
            value: -0.00029825,
            history: [
               -0.00105,
               -0.0021154999999999998,
               -0.0007629999999999999,
               
            ]
         },
         latency: {
            value: 0.001804,
            history: [
               0.003137,
               0.0028035,
               0.0012289999999999998,
               
            ]
         },
         processes: [
            {
               processId: 11034,
               programName: "logger",
               commandlineArguments: [
                  "--log-level",
                  "info",
                  "-f",
                  "and",
                  "--style",
                  "detailed",
                  "socket:" 
               ],
               startTime: 1409759486,
               state: "running",
               latency: {
                  value: 0.003086,
                  history: [
                     0.003137,
                     0.000967,
                     0.000804,
                     
                  ]
               },
               participants: [
                  {
                     kind: "listener",
                     id: "E4CA6C39-5B47-49D1-B1A6-A94816214B48",
                     type: "T",
                     scope: "/",
                     "children": []
                  }
               ],
               transports: [
                  "socket://localhost:55555/__rsb/introspection/#72D04C3A-7AD2-40D1-AA0E-F723F05CCA03" 
               ]
            },
            {
               processId: 28837,
               programName: "logger",
               commandlineArguments: [
                  "--load",
                  "/home/jmoringe/code/cor-lab/rsb/rsb-cl/src/transport/connector.lisp",
                  "--load",
                  "/home/jmoringe/code/cor-lab/rsb/rsb-cl/src/introspection/platform-sbcl-linux.lisp",
                  "socket:",
                  "spread:" 
               ],
               startTime: 1410608463,
               state: "running",
               latency: {
                  value: 0.0023765,
                  history: [
                     0.0028035,
                     0.0007485,
                     0.00046599999999999994,
                     
                  ]
               },
               participants: [
                  {
                     kind: "listener",
                     id: "E83514F2-16CB-41C7-B8B6-EEBAEFEF7CDB",
                     type: "T",
                     scope: "/",
                     "children": []
                  },
                  {
                     kind: "listener",
                     id: "97109423-48F9-444A-B826-F8ABCB67A22D",
                     type: "T",
                     scope: "/",
                     "children": []
                  }
               ],
               transports: [
                  "socket://localhost:55555/__rsb/introspection/#72D04C3A-7AD2-40D1-AA0E-F723F05CCA03" 
               ]
            },
            {
               processId: 11030,
               programName: "logger",
               commandlineArguments: [
                  "--log-level",
                  "info",
                  "socket:?server=1" 
               ],
               startTime: 1409759484,
               state: "running",
               latency: {
                  value: 0.00137125,
                  history: [
                     0.0012289999999999998,
                     0.0005005000000000001,
                     0.000974,
                     
                  ]
               },
               participants: [
                  {
                     kind: "listener",
                     id: "6FCB8228-7426-4394-A2A2-FDD20F5A6618",
                     type: "T",
                     scope: "/",
                     "children": []
                  }
               ],
               transports: [
                  "socket://localhost:55555/__rsb/introspection/#72D04C3A-7AD2-40D1-AA0E-F723F05CCA03" 
               ]
            }
         ]
      }
   ]
}


Related issues

Related to Robotics Service Bus - Feature #44: Implement basic introspection support Resolved 03/24/2014 03/24/2014
Related to Robotics Service Bus - Tasks #2242: Implement server-side for web-based tools (introspection ... Resolved 04/27/2015

Associated revisions

Revision 014d93d5
Added by J. Moringen almost 9 years ago

JSON representation of introspection information in formatting/introspection/json.lisp

refs #1994

  • formatting/introspection/json.lisp: new file; serialize introspection
    information to JSON; `style-json' introspection formatting style class
  • test/formatting/introspection/json.lisp: new file; tests for the
    JSON-serialization of introspection information
  • test/formatting/introspection/package.lisp: new file; package
    definition for tests of the formatting.introspection module
  • rsb-formatting-json.asd: new file; system definition for
    rsb-formatting-json system
  • cl-rsb-formatting.asd (system cl-rsb-formatting-test): added module
    formatting-introspection with files
    test/formatting/introspection/json.lisp and
    test/formatting/introspection/package.lisp

Revision aa284786
Added by J. Moringen almost 8 years ago

Added universal-builder-for-event-data in src/builder.lisp

refs #2351, refs #1994

  • src/builder.lisp (header): updated copyright
    (package rsb.builder): added exported symbol
    universal-builder-for-event-data
    (universal-builder-for-event-data): new function; switch to
    universal-builder for data slot of event
  • test/builder.lisp (package rsb.builder.test): added used package
    rsb.builder
    (check-un-build-calls): added peek-function keyword parameter; pass to
    `record-un-build-calls/peeking'
    (mock-payload): new class; mock payload for builder tests
    (test rsb-builder-root::event/universal-builder-for-event-data): new
    test; test switching to universal builder for data relation in `event'
    nodes
  • rsb-builder.asd (header): updated copyright
    (system rsb-builder): added system dependency on
    architecture.builder-protocol.universal-builder

History

#1 Updated by J. Moringen over 9 years ago

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

#2 Updated by J. Moringen over 9 years ago

  • Related to Feature #44: Implement basic introspection support added

#3 Updated by J. Moringen over 9 years ago

  • % Done changed from 50 to 90

#4 Updated by J. Moringen almost 9 years ago

  • Target version changed from rsb-0.12 to rsb-1.0

#5 Updated by J. Moringen almost 9 years ago

  • Target version changed from rsb-1.0 to rsb-0.13

#6 Updated by J. Moringen over 8 years ago

  • Related to Tasks #2242: Implement server-side for web-based tools (introspection for starters) added

#7 Updated by J. Moringen over 8 years ago

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

Also available in: Atom PDF