Skip to content

Troubleshooting

Grafana dashboard doesn't load

If you are running the Dashboard locally make sure that you have given enough memory to Docker for running all required services. A minimum of 2GB is required.

Also, make sure that the ports used by the Dashboard services are free.

Cannot start service influxdb: b'Mounts denied

If you are running the Dashboard locally and you get a similar error when attempting to run the docker-compose.yml:

STORAGE=/usr/local/hydra-metrics docker-compose up
Recreating docker_influxdb_1 ... error

ERROR: for docker_influxdb_1  Cannot start service influxdb: b'Mounts denied: \r\nThe path /usr/local/hydra-metrics\r\nis not shared from OS X and is not known to Docker.\r\nYou can configure shared paths from Docker -> Preferences... -> File Sharing.\r\nSee https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.\r\n.'

ERROR: for influxdb  Cannot start service influxdb: b'Mounts denied: \r\nThe path /usr/local/hydra-metrics\r\nis not shared from OS X and is not known to Docker.\r\nYou can configure shared paths from Docker -> Preferences... -> File Sharing.\r\nSee https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.\r\n.'
ERROR: Encountered errors while bringing up the project.

This means that Docker cannot mount the passed $STORAGE directory. To solve this problem you should either use a folder that Docker is allowed to mount or add the folder you'd like to use to the Docker "File Sharing" settings.

No compilation metrics displayed in Grafana

Note that compilation metrics are pushed to the Dashboard only on full compile cycles. Hence, if you are not seeing any data in the Grafana dashboard, the reason might simply be that no compilation metric was collected. If you did a full compile, then your data should definitely be displayed.

Grafana reports "Templating init failed: Network Error: undefined(undefined)"

This error usually means that Grafana cannot connect to the influxHydra datasource. To fix this issue log in to Grafana as an administrator (the default username/password is admim/admin), then on the left bar click on "Configuration" -> "Data Sources", select the influxHydra datasource and update the configuration so that Grafana can successfully establish a connection to datasource.

Wrong time filter

Check that the time filter on the top-right corner includes the time when you compiled.

Wrong dashboard server URL

The Metrics service is responsible of pushing compilation metrics to the dashboard server. By default, the Metrics service is configured to push data to localhost:3333. If the Dashboard was deployed on a shared remote server, make sure that the Metrics service is pushing data to the configured remote server (read here for how to check this).

Metrics service not running

For metrics to be pushed to the Dashboard the Metrics service must be running. In general, the Metrics service automatically starts itself when compiling with Hydra from sbt or Maven. However, if you are using IDEA or the CLI to compile a project, the metrics service will not be automatically started. To workaround this limitation you need to set up a dummy sbt or Maven project in sbt with the hydra plugin enabled, and run a compile cycle on the dummy project. As a result of this you should see the Metrics service process in the list of running java processes:

$ jps -v | grep MetricsService
<pid> MetricsService -Xmx256M -Dtriplequote.dashboard.client.metricsDirectory=/Users/john/.triplequote/metrics -Dtriplequote.dashboard.client.serverUrl=http://localhost:3333
Metrics service cannot be started

If the Metrics service cannot be started (i.e., jps -v | grep MetricsService returns no output), chances are that a ${user.home}/.triplequote/metrics/.metrics.runid file is still lying around despite the Metrics service was stopped. This can happen for instance if your system was abruptly shutdown. To fix this simply delete the existing ${user.home}/.triplequote/metrics/.metrics.runid and restart sbt (or run compile on Maven) and the Metrics service should be started. Read the Metrics service lifecycle for more details on how the .metrics.runid is used.

Something else?

Inspect both the Metrics service log and the Dashboard sever log to gather as much information about why compilation metrics are not displayed. You might also find it useful to increase the logging level to "DEBUG" (see the previous links to the log for how to do that on both the Metrics service and the Dashboard server).