There is a new branch tekelija#62 containing some metrics infrastructure. Links for download are at the end of the post

Metrics service is implemented as quark service therefore it can be managed using qcli command line util.

Configuration

Empty configuration can be retrieved using command:

qcli generate cfg metrics

Following structure should be returned:

{
  "metrics": {
    "active": 0,
    "appPerformanceMeters": false,
    "influxDbUri": null,
    "intervalToSend": null,
    "sysPerformanceMeters": false,
    "tag": {
      "application": null,
      "host": null,
      "region": null
    },
    "textReportPath": null
  }
}

Parameters

Setting Default value Notes
intervalToSend 0 interval (in seconds) after which collected metrics will be reported to graphite / file… server. Value of 0 (or less) will disable reporting.
influxDbUri empty influx db uri, disabled if empty. influx uri’s are formed as http://localhost:8086?db=<database_name>
textReportPath empty path for metrics text report file. If emtpy, file reporting is disabled. May be absolute path or just filename, in which case reporting file will be created in chost root folder
sysPerformanceMeters bool, default false system performance monitors included in metrics
appPerformanceMeters bool, default false application performance monitors included in metrics
tag object object containing influxDb tag key values. If application and host are null, process name and environment machine name are used

Important: if you want to use sysPerformanceMeters and / or appPerformanceMeters, user running console host must be a member of the Administrators or Performance Monitor Users group.

Configuration example:

{
  "metrics": {
    "appPerformanceMeters": true,
    "influxDbUri": "http://localhost:8086?db=mydb",
    "intervalToSend": 10,
    "sysPerformanceMeters": true,
    "tag": {
      "application": null,
      "host": "asdasdasd",
      "region": null
    },
    "textReportPath": "metrics.txt"
  }
}

Tekelija / Webapp frontend / Webapp backend