Skip to content

Client

In this section we describe configuration of the metrics collection client. The client is responsible with pushing compilation metrics collected by Hydra to a dashboard server, where they can be visualized and analyzed (see Architecture). This client should run on every developer machine.

Configuration file

The template below can be used as a starting point for configuring the Metrics service. Place this file in the metrics directory at config/metrics-service.conf. The default metrics directory is ~/.triplequote/metrics, so this file should be inside ~/.triplequote/metrics/config/metrics-service.conf.

# mandatory: include the built-in settings tree
include "application.conf"

triplequote.dashboard.client {
  # Optional user ID override
  # metricsUserId = ${user.name}

  # Optional host ID (e.g. hostname)
  # metricsHostId = ""

  # Server address to push the metrics data
  serverUrl = "http://localhost:3333/metrics"

  # Optional HTTP basic authentication
  # clientUsername = ""
  # clientPassword = ""
}

Note that you'll have to restart the metrics service each time you make changes to this file, like instructed here.

Note

You can setup several configurations that push to different servers. See Advanced Configuration for details.

Dashboard server

By default the metrics server will send data to a dashboard server on the local machine (see installation instructions on how to install the dashboard server).

You can also setup a shared dashboard server within your organization, so you can analyze your build times across different machines and users. The dashboard server URL can be changed via property serverUrl either in a per-user configuration file, or per-project using hydraMetricsServiceJvmOptions (see build settings). Note that project build settings will take precedence over local configuration file settings.

The metrics uploader service supports basic HTTP authentication through the clientUsername and clientPassword properties. A possible setup would store these per-user in the configuration file, while the shared internal dashboard server URL would be configured in the project build settings.