OpenClovis Logo

Functional Description
Debug Service

Description of Debug Service. More...

Description of Debug Service.

The OpenClovis Debug Infrastructure provides distributed diagnostics access to all system components, including OpenClovis ASP service components, as well as ASP-based customer applications. The software components can define and register any number of diagnostic routines or functions with the debug infrastructure. These routines are made accessible via a so-called ASP Console (asp_console) application. ASP Console can be launched from any of the system nodes. It allows the user to list the available nodes, list the accessible components on each node (those that registered with the debug service), and list all diagnostic functions registered by each component. Via a simple command line interface (CLI), the user can trigger any of these routines in an interactive way, and the results will be displayed on the console. ASP Console can be started on any of the ASP-enabled system nodes and the ASP Console provides unified access to any components on any nodes, irrespective of where it has been started. It simply routes the request to the given component based on the selected node and component context.

This debug infrastructure and the companion ASP Console front-end can provide significant benefit to system designers trying to monitor the internals of the system or trigger natural or artificial events in the system for testing purposes. Specific examples include:

All OpenClovis ASP service components offer diagnostic commands.

Initially in ASP Console after establishing a connection, you are in OpenClovis ASP global context. You can then list all the nodes (called slots here for historic reasons) that are visible in the cluster. For each slot it also shows the ASP node instance running on that slot. From global context, you can set context to a particular blade. Once you are in a node's context, you can list all the components available on that blade and set context to a particular component. You can then start using the commands for that component. Once you are done working with a particular component, you can unset the current context and switch to other blades or components. When a command is entered at the terminal, it is sent to the gateway as is. The gateway parses the command and matches the command with the existing commands for the component for which the context is set. It then makes an RMD call to the debug object in the EO for that component. The debug object then matches the command to a function as per the registering done earlier and calls the appropriate function. The function is expected to return a string that is routed back to the terminal and displayed to the user.


Generated on Tue Jan 10 10:29:15 PST 2012 for OpenClovis SDK using Doxygen