Multi-level debugger
AssigneeRed Hat Israel, Ltd.
InventorsArie Bregman, David Sariel
Life of this patent
Estimating the term…
Abstract
A task may be executed using a domain specific language (DSL) debugger, the task including one or more modules. A module debugger associated with a module of the one or more modules of the task may be identified. Task debugging data associated with the execution of the task using the DSL debugger may be transmitted to the identified module debugger. Module debugging data may be received from the identified module debugger. Multi-level debugging data including the task debugging data and the received module debugging data may be generated.
Claims17
A method, comprising:
- executing a task in a domain specific language (DSL) at a DSL server hosting a configuration management system, the task comprising calls to a plurality of modules written in different programming languages, wherein the plurality of modules are hosted by one or more module servers;
- determining whether a triggering event has occurred during execution of the task, the triggering event corresponding to an output value for a first module of the task satisfying a threshold;
- in response to determining that the triggering event has occurred, inserting a breakpoint into a location of a script of the task, the location of the script corresponding to the first module of the plurality of modules of the task for which the output value satisfied the threshold;
- executing the task using a DSL debugger, wherein the DSL debugger generates task debugging data for the task in the DSL;
- identifying the breakpoint in the task corresponding to a call to the first module of the plurality of modules of the task;
- in response to identifying the breakpoint, identifying, by a processing device, a module debugger on a first module server of the one or more module servers associated with the first module of the plurality of modules of the task, based on a programming language of the first module;
- transmitting, to the module server of the one or more module servers corresponding to the identified module debugger, the task debugging data generated by executing the task using the DSL debugger, wherein the task debugging data comprises input values for the first module to be used by the module debugger to execute the first module, a location of the first module, and the programming language of the first module;
- receiving, from the module server hosting the identified module debugger, module debugging data and one or more output values of the module to be used for continued execution of the task, wherein the module debugging data is determined in view of the task debugging data associated with the execution of the task;
- and
- generating multi-level debugging data comprising the task debugging data and the received module debugging data.
A system, comprising:
- a memory;
- and
- a processing device, operatively coupled to the memory, to:
- execute a task using a domain-specific language (DSL) at a DSL server hosting a configuration management system, the task comprising calls to a plurality of modules written in different programming languages, wherein the plurality of modules are hosted by one or more module servers;
- determine whether a triggering event has occurred during execution of the task, the triggering event corresponding to an output value for a first module of the plurality of modules of the task satisfying a threshold;
- insert a breakpoint into a location of a script of the task, the location of the script corresponding to the module of the task for which the output value satisfied the threshold;
- in response to determining that the triggering event has occurred during execution of the task, execute the task using a DSL debugger to generate task debugging data for the task in the DSL;
- identify the breakpoint in the task corresponding to a call to the first module of the plurality of modules of the task;
- in response to identifying the breakpoint, transmit the generated task debugging data to a first module server of one or more module servers hosting a module debugger associated with the first module of the plurality of modules, wherein the task debugging data comprises input values for the first module to be used by the module debugger to execute the module, a location of the first module, and a programming language of the first module;
- receive, from the module server hosting the module debugger, module debugging data and one or more output values of the first module to be used for continued execution of the task;
- and
- generate multi-level debugging data comprising the generated task debugging data and the received module debugging data.
A non-transitory computer-readable storage medium including instructions that, when executed by a processing device, cause the processing device to:
- execute a task in a domain specific language (DSL) at a DSL server hosting a configuration management system, the task comprising calls to a plurality of modules written in different programming languages, wherein the plurality of modules are hosted by one or more module servers;
- determine whether a triggering event has occurred during execution of the task, the triggering event corresponding to an output value for a first module of the task satisfying a threshold;
- in response to determining that the triggering event has occurred, insert a breakpoint into a location of a script of the task, the location of the script corresponding to the first module of the task for which the output value satisfied the threshold;
- execute the task using a DSL debugger, wherein the DSL debugger generates task debugging data for the task in the DSL;
- identify the breakpoint in the task corresponding to a call to the first module of the plurality of modules of the task;
- in response to identifying the breakpoint, identify, by the processing device, a module debugger on a first module server of the one or more module servers associated with the first module of the plurality of modules of the task, based on a programming language of the first module;
- transmit, to the identified module debugger, task debugging data generated by executing the task using the DSL debugger, wherein the task debugging data comprises input values for the first module of the plurality of modules of the task to be used by the module debugger to execute the first module, a location of the first module, and the programming language of the first module;
- receive, from the module server hosting the identified module debugger, module debugging data and one or more output values of the first module to be used for continued execution of the task, wherein the module debugging data is determined in view of the task debugging data associated with the execution of the task;
- and
- generate multi-level debugging data comprising the task debugging data and the received module debugging data.
Dependencies are inferred from the claim text.