Metrics

Measure your FlowerDocs stack

Metrics

The FlowerDocs platform showcases a range of metrics that provide quantitative feedback on the use of FlowerDocs Core. These metrics cover various aspects, from service consumption to JVM usage.

Most metrics are displayed with tags, providing contextualized, more precise metrics.

Application metrics

Components

Component metrics are listed in the tables below. They are displayed with tags enabling them to be filtered according to:

  • the scope concerned (scope)
  • the exception triggered (exception)
Name Description
createDocuments Create documents
getDocuments Get documents
searchDocuments Search documents
updateDocuments Update documents
deleteDocuments Delete documents
addFilesDocuments Add content to documents
getFileDocuments Get the contents of documents
getFilesDocuments Get the contents of documents
promoteVersion Create a document version
getVersionsVersion Get versions of documents
revertVersion Revert to document versions
Name Description
createFolders Create folders
getFolders Get folders
searchFolders Search folders
updateFolders Update folders
deleteFolders Delete folders
addChildrenFolders Add components to folders
deleteChildrenFolders Delete components from folders
Name Description
createVirtualFolders Create virtual folders
getVirtualFolders Get virtual folders
searchVirtualFolders Search virtual folders
updateVirtualFolders Update virtual folders
deleteVirtualFolders Delete virtual folders
Name Description
createTasks Create tasks
getTasks Get tasks
searchTasks Search tasks
updateTasks Update tasks
deleteTasks Delete tasks
answerTasks Answer tasks
assignTasks Assign tasks

OperationHandler

Executions of OperationHandlers can also be monitored using the following metrics:

  • invokeSyncOperationHandler for those executed synchronously
  • processAsyncOperationHandler for those executed asynchronously

These metrics are published with the following tags:

Name Description
ObjectType Object type concerned
action Action to which the OperationHandler reacts
phase Execution phase
registration Identifier of the subscription
scope Identifier of the scope concerned
exception Provoked exception or none

A metric is exposed from the moment the operation was first executed.

Other

Dozens of other metrics are exposed, such as exports (ZIP or CSV), conversions and authentications. These may change from version to version and can be browsed in the export system used (see section below).

Technical metrics

The main technical metrics exposed by FlowerDocs Core are listed below.

Name Description
process.cpu.usage CPU usage of the Java process
process.files.max Maximum number of files that can be opened
process.files.open Number of files opened
process.start.time Java process start time
process.uptime Java process uptime
system.cpu.usage Host system CPU usage
Name Description
jvm.buffer.count
jvm.buffer.memory.used
jvm.buffer.total.capacity
jvm.classes.loaded
jvm.classes.unloaded
jvm.gc.live.data.size
jvm.gc.max.data.size
jvm.gc.memory.allocated
jvm.gc.memory.promoted
jvm.gc.pause
jvm.memory.committed
jvm.memory.max
jvm.memory.used
jvm.threads.daemon
jvm.threads.live
jvm.threads.peak
jvm.threads.states
Name Description
createDocuments Create documents

Metrics consultation

REST API

The metrics are exposed on the /actuator/metrics endpoint and like the other Actuator endpoints. Access requires basic authentication by an account with the SYSTEM_ADMIN role.


GET /core/actuator/metrics HTTP/1.1
Authorization: Basic <basic authorization>

GET /core/actuator/metrics/getDocuments HTTP/1.1
Authorization: Basic <basic authorization>

GET /core/actuator/metrics/getDocuments?tag=scope:GEC HTTP/1.1
Authorization: Basic <basic authorization>

These web services can be consumed from various monitoring applications. In this case, the use of a specific user account is recommended.

JMX

Metrics are exposed through JMX MBean in the metrics namespace. They can, for example, be consulted using tools provided by a JDK such as jconsole or jvisualvm (with the VisualVM-MBeansplugin). As MBeans do not support tag logic, the names of published metrics are concatenated with their tags.


By default, the technology can be accessed locally to monitor the application and consult MBeans.

This technology can also be used remotely, with additional configuration. Typically, by adding the properties below to the JVM, it is possible to access MBeans unsecured from a remote machine.

-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=6001 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.rmi.port=6001 


See official documentation for more information.

Amazon CloudWatch

When the AWS S3 connector is used, metrics are automatically pushed into AWS CloudWatch, enabling them to be consulted and dashboards or alerts to be built.

In order to push these metrics, FlowerDocs Core must have the appropriate permissions as defined by the strategy below.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "flowerdocs-cloudwatch",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:GetMetricData",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:PutMetricData"
            ],
            "Resource": "*"
        }
    ]
}

In the case of a FlowerDocs Core farm, it may be necessary to isolate the metrics by instance. The identifier of the FlowerDocs Core instance concerned can be added as a metrics tag by adding the management.metrics.export.cloudwatch.tags.instanceId=true property.

To disable the publication of metrics in AWS CloudWatch, the management.metrics.export.cloudwatch.enabled=false property can be added.