Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

BacklogDebugger

Available as of from Camel 2.12

Camel supports a backlog debugger that is used for live debugging of message they are routed in Camel.
The backlog debugger has additional functionality for easier debugging aimed at tooling, than the Debugger. The backlog debugger is exposed in JMX in the tracer node with the name BacklogDebugger. The JMX API is defined in the org.apache.camel.api.management.mbean.ManagedBacklogDebuggerMBean interface.

You can enable or disable the the BacklogDebugger dynamically, by calling enableDebugger or disableDebugger methods.

Options

Div
classconfluenceTableSmall

Option

Default

Description

enabled bodyIncludeFiles

false true

Whether the debugger is enabled or not. to include the message body of file based messages. The overhead is that the file content has to be read from the file.

bodyIncludeStreams singleStepMode

false

Whether currently in single step mode of a single Exchangeto include the message body of stream based messages. If enabled then beware the stream may not be re-readable later. See more about Stream caching.

bodyMaxChars

128kb

To limit the message body to a maximum size in the traced message. Use

Use 0 or negative value to use unlimited size.

bodyIncludeStreams enabled

false

Whether to include the message body of stream based messages. If enabled then beware the stream may not be re-readable later. See more about Stream Caching. the debugger is enabled or not.

singleStepMode

false

Whether currently in single step mode of a single Exchange

bodyIncludeFiles

true

Whether to include the message body of file based messages. The overhead is that the file content has to be read from the file.

Operations

Div
classconfluenceTableSmall

Option

Type

Description

enableDebugger addBreakpoint(nodeId)

void

To enable the debugger add a breakpoint at the given node.

addConditionalBreakpoint(nodeId, language, predicate) disableDebugger

void

To disable the debugger

getDebuggerCounter

long

Gets the total number of debugged messages.

add a conditional breakpoint at the given node. The predicate is created from the language parameter.

disableBreakpoint(nodeId)

void

To disable a breakpoint temporary.

disableDebugger resetDebuggerCounter

void

To reset disable the debugger counter.

dumpTracedMessagesAsXml(nodeId)

String

To dump the debugged messages from the give node id in XML format.

addBreakpointenableBreakpoint(nodeId)

void

To add active a breakpoint at the given node. which has been temporary disabled.

enableDebugger

void

To enable the debugger.

getBreakpoints

Set<String>

To get a set of all the nodes which has a breakpoint added.

getDebuggerCounter

long

Gets the total number of debugged messages.

getSuspendedBreakpointNodeIds

Set<String>

To get a set of all the nodes which has suspended breakpoints e.g., an Exchange at the breakpoint which is suspended.

resetDebuggerCounter

void

To reset the debugger counter

addConditionalBreakpoint(nodeId, language, predicate)

void

To add a conditional breakpoint at the given node. The predicate is created from the language parameter.

removeBreakpoint(nodeId)

void

To remove the breakpoint from the given node id.

resumeBreakpoint(nodeId)

void

To resume a suspend breakpoint, which will then continue routing the Exchange.

resumeAll

void

To resume all suspended breakpoints.

getSuspendedBreakpointNodeIds step

Set<String>

void

To step to next node when in single step mode To get a set of all the nodes which has suspended breakpoints (eg an Exchange at the breakpoint which is suspended).

stepBreakpoint(nodeId)

void

To start single step mode from a suspended breakpoint at the given node. Then invoke step to step to next node in the route.

step

void

To step to next node when in single step mode.

getBreakpoints

Set<String>

To get a set of all the nodes which has a breakpoint added.

enableBreakpoint(nodeId)

void

To active a breakpoint which has been temporary disabled.

disableBreakpoint(nodeId)

void

To disable a breakpoint temporary.

setMessageBodyOnBreakpoint(nodeId,body)

void

To update the message body on the suspended Exchange at the node.

setMessageHeaderOnBreakpoint(nodeId,headerName,value)

void

To update/add the message header on the suspended Exchange at the node.

...