Skip to content

Home

Development

IDEs

API Explorer

Releases

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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
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/log4j.properties file or update its logger via the user interface.

Using Tracker

Another way to monitor the behavior of Flux services is through Tracker. By logging Flux invocations to Tracker, you'll be able to review data processed by your workflows and even use them in your other integrations.