Skip to main content

System Information

Flowable Work provides a mechanism to publish and store different system information in the database. Flowable Control can read and display this information for all the available nodes.

When contacting the Flowable Service Desk, you might be asked to provide this 'System info', as it gives the Flowable support engineers a quick view of the key configurations and performance indicators of your systems.

Available System Information

Flowable provides system information for the following things:

  • Datasource (datasource)
    • Connection pool configuration
    • Database (name, driver, etc.)
  • Connection pool current state (connection-pool)
  • Flowable Version (flowable-version)
  • Flowable Database table counts (table-counts)
  • Flowable Job execution (job-execution)
  • Flowable Job acquisition
    • Async Job acquisition (acquire-async-jobs)
    • Async History Job acquisition (acquire-history-jobs)
    • Timer acquisition (acquire-timers)
  • Flowable Async Executor details
    • CMMN (cmmn-async-executor)
    • BPMN (bpmn-async-executor)
    • History (async-history-executor)
  • Flowable Job counts (job-table-counts)
  • Flowable Engines (engine-info)
  • Flowable License (license)
  • Flowable Dynamic System Configuration (system-configurations)
  • Spring Boot version (spring)
  • Operating System (os-info)
  • Java Memory (java-memory)
  • Java version / vendor / runtime (java-info)
  • Logging configuration (logging)
  • Elasticsearch (elasticsearch)
  • Task Executor
    • Default (default-task-executor)
    • Flowable Platform (platform-task-executor)

In the brackets the id of the system information provider is given. This can be used in properties as explained in the next section.

Enabling / Disabling Specific providers

All system information providers, except the table-counts are enabled by default. A specific provider can be disabled by using the property flowable.core-system-info.providers.<providerId>.disabled and setting it to true.

If you want to completely disable the system information providers you can set the property flowable.core.system-info.providers.disabled-by-default to true. You can then use the property flowable.core-system-info.providers.<providerId>.disabled with value false to explicitly enable certain providers.

We do not recommend disabling the providers by default.

Persisting to the Database

The system information provided by all the active Flowable system info contributors is persisted periodically in the Flowable Database. This allows you to see the state of each node in Control.

By default, the information is published every 5 minutes. This can be configured using the flowable.core.system-info.publish-step property. This property needs to be set on the application running Flowable (not on Flowable Control). e.g. if you want to publish every 5 minutes you can do flowable.core.system-info.publish-step=5m There is also something that runs every 5 minutes to check for information about nodes that has not been updated for 30 minutes and removes that from the database. In order to configure this you can use:

  • flowable.core.system-info.expiration-check-step - a duration for how often the expiration check should be done
  • flowable.core.system-info.expire-after - a duration after which the system information will be removed from the database (e.g. when a node is shut down)

Flowable Control UI

Flowable Control provides a way to view the System Information.

System Information Header UI

In the UI the information can be viewed per available node. There is a dropdown that allows to select the node for which you want to see the information. The following actions can be executed for a system information:

  • Copy to clipboard - Copy the Information provided by Flowable Work to your clipboard
  • Download file - Download the Information provided by Flowable Work to your local file system
  • Refresh - Refresh the System Information

General information

General Information UI

In the General section of the system info we can see information about:

  • Flowable Version
  • Flowable Build Number
  • Spring (Boot) Version
  • Java information (vendor, runtime, jvm, version)
  • Flowable license information

Database information

Database Information UI

In the Database section of the system info we can see information about the version of

  • Database - Version, Name, JDBC Driver
  • Connection pool - Name, usage of connections

Java Memory information

Java Memory Information UI

In the Java Memory section of the system info we can see information about the Java memory usage (at the time the information was published)

There is an advanced section that provides the detailed information for the different memory usages.

Elasticsearch information

Elasticsearch Information UI

In the Elasticsearch section of the system info we can see information about the Elasticsearch cluster used by Flowable Work. If Flowable Work is running without Elasticsearch then this section will not be provided.

There is an advanced section that provides more detailed information such as the health details and the different settings.

Table Counts information

Table Counts Information UI

In the Table Counts section of the system info we can see information about the Flowable Work database table counts. This section is by default not visible, since the table counts are disabled.

Logging information

Logging Information UI

In the Logging section of the system info we can see information about the explicitly configured Flowable Work logging levels and the logging system that is being used.

Task Executor information

Task Executor Information UI

In the Task Executors section of the system info we can see the information about the 3 known Flowable Task Executors. For each executor we can see the active threads, the configured core / max pool size, the total queue capacity and the information about the current queue size.

Async Executor information

Async Executor Information UI

In the Async Executors section of the system info we can see the information about the Flowable Async Executors. For each executor we can see the specific configuration.

Timer Jobs information

Timer Jobs Information Part 1 UI

Timer Jobs Information Part 2 UI

In the Timer Jobs section of the system info we can see the information about the amount of acquired, executed and scheduled jobs. The amount of cycles that are kept can be configured through the property: flowable.core.system-info.number-of-last-timer-acquire-states. The default value is 20. Here we can also see the amount of the timer jobs in the database.

The Async Jobs and Async History jobs have the same UI for this, but they provide information about the async jobs and async history jobs appropriately. The configuration properties for the number of cycles to keep for these sections are:

  • flowable.core.system-info.number-of-last-async-jobs-due-acquire-states
  • flowable.core.system-info.number-of-last-history-jobs-due-acquire-states
  • flowable.core.system-info.number-of-last-job-execution-states

Raw Data information

Raw Data Information UI

In the Raw Data section of the system info we can see the raw data that Flowable Work provides.