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.