This is the official developer's manual for the PowerGoblin tool.

PowerGoblin is a multipurpose tool for orchestrating power measurement processes. The goal of the tool is to be lightweight and easily extendable.

The Dokka code documentation is available here.

Currently, the tool has support for the following technologies:

  • Importing of measurement data
  • Exporting of measurement data
    • Measurement setup (JSON)
    • Event log (JSON, CSV, OpenDocument ODS)
    • Measurement report (HTML + interactive JS)
    • Resource dump (zip)
    • Measurement setup archive (zip)
  • MQTT communication
    • Indirect monitoring of the measurement process
  • HTTP API
    • Web User interface
    • REST API for controlling measurements
    • HTTP POST API for uploading resource data (collectd)
  • Telnet API
    • Minimal protocol for controlling measurements
    • High performance io_uring backend
  • Docker
    • The tool can be deployed easily with Docker images
  • Java 25+ (platform independent runtime)

Version 3

This is the version 3 of PowerGoblin. The major features of this version are better runtime user interface and energy report generation, refactored meter framework which now uses Java 25 FFM to access native devices. There are also new API endpoints for more features.

Version 2 included fixes and support for multiple concurrent sessions. This was also reflected in the HTTP API, which is rewritten to support multiple sessions.

Future plans

  • Wider platform support for drivers using Java FFM API: serial/usb libs for Mac/Windows. Maybe use jssc
  • More drivers, open source custom meter hardware
  • More integrations
  • More implemented functionality for the PowerGoblin agents
  • Better analysis / reporting / visualization of the results

All page content


Changelog

  • Friday, August 30, 2024: Initial version.

Found a bug?

Please report all bugs to the project's public bug tracker.