Skip to content






API Explorer


Release notes

Martini Runtime

Martini Desktop

Martini Online

Feature requests

Bug reports

Monitoring Flux services

An overview of running services can be helpful in keeping track of ongoing activities. In this section, we will look at some methods for monitoring and inspecting your Flux services.

Using the Martini service manager

The Martini service manager provides a list of services that are currently running on a Martini instance. You can use this tool to monitor all running Flux services, as well as terminate them if you want to.

Using loggers

The Flux engine logs different kinds of information depending on the current log level. By default, its logger level is set to INFO which will provide exceptions and warnings that occur during its execution. To retrieve more information about Flux executions, edit or add io.toro.fluxengine's log level to DEBUG. Setting it to this level will yield information about:

  • The start and termination of a service
  • State and transition executions
  • Triggered services
  • External events
  • The debugger

Here are some example log messages sent when the Flux engine's logger is set to the DEBUG level:

16/03/18 15:42:45.036 DEBUG [FluxStateProcessor] Started flux integration-223
16/03/18 15:42:45.091 DEBUG [FluxStateProcessor] Processing state state=state_A flux=integration-223
16/03/18 15:42:45.145 DEBUG [FluxStateProcessor] Invoking action for state=state_A flux=integration-223 action=io.toro.gloop.service.step.invoke.InvokeCodeStep(className:io.toro.martini.LoggerMethods, methodName:println, returnType:null, parameters:[String], exceptions:[], inputModel:input = null, outputModel:output = null, iconName:java)
16/03/18 15:42:45.279 DEBUG [ProcessTransition] Processing transition event=proceed state=state_A flux=integration-223
16/03/18 15:46:20.978 DEBUG [FluxManagerImpl] External event received for flux request io.toro.fluxengine.model.event.FluxEvent([], trigger, jsonObject{})
16/03/18 15:46:21.742 DEBUG [TriggerFluxServices] Triggered flux services: [io.toro.fluxengine.model.event.PostEventState(227, state_A)]
16/03/18 15:42:45.366 DEBUG [FluxManagerImpl] Termination requested for flux id=223
16/03/18 15:48:38.789 DEBUG [FluxDebuggerImpl] On breakpoint state=state_A flux=integration-231
16/03/18 15:48:39.740 DEBUG [FluxDebuggerImpl] State suspended state=state_A flux=integration-231
16/03/18 15:48:45.720 DEBUG [FluxDebuggerImpl] State step INTO state=state_A flux=integration-231
16/03/18 15:48:48.685 DEBUG [FluxDebuggerImpl] Transition stepped over transition=proceed state=state_A flux=integration-231
16/03/18 15:48:51.733 DEBUG [FluxDebuggerImpl] State step OVER state=state_B flux=integration-231

Changing log levels

To change the Flux engine's log level, you can either modify your <martini-home>/conf/ file or update its logger via the user interface.

Using Tracker

Another way to monitor the behavior of Flux services is through Tracker. The Flux engine adds a Tracker document when a Flux service is executed. A document state is added for each of the following scenarios:

  • Start of execution, where the document state contains the context of the Flux service in a JSON file.
  • Execution of a state, where the document state contains the context of the invoked state in a JSON file.
  • Occurrence of an exception, where the document contains the stacktrace of the exception from the {stateName}-error.log file.
  • End of execution.

No tracking for certain Flux invocations

A Flux invocation will not be logged to Tracker if it is debugged or run using the IDE.