Ficsit Remote Monitoring Companion (FRMC) is a companion application for the Ficsit Remote Montioring mod for Satisfactory.
The Ficsit Remote Monitoring mod exports metrics about the loaded save in Satisfactory, via a web server serving JSON. This companion application provides a visulisation tool on top of those metrics.
FRMC offers two tools for visualising the data being collected:
The realtime map shows your factory buildings on the Satisfactory game world map, and charts their production levels in the last 5 minutes.
The Prometheus metrics server allows you to explore the data being exported using the full power of Prometheus.
(* Link goes to the address on your local system. If FRMC is not running, you will see an error)
FRM_HOST
: The host to the Ficsit Remote Monitoring server. EG: 172.17.0.1
.
FRM_PORT
: The port of the Ficist Remote Monitoring server. EG: 8080
.
FRM_HOSTS
: A comma separated list of Ficsit Remote Monitoring servers. If protocol is unspecified, it defaults to http. EG: http://myserver1.frm.example:8080,myserver2.frm.example:8080,https://myserver3.frm.example:8081
FRM_LOG_STDOUT
: If FRMC should print to stdout rather than a separate logfile. Useful for docker/containerization. default false.
Name | Description | Labels |
---|---|---|
drone_port_fuel_rate | Rate of fuel used | id, home_station, fuel_name, url, session_name |
drone_port_fuel_amount | Amount of fuel in inventory | id, home_station, fuel_name, url, session_name |
drone_port_round_trip_seconds | Recorded drone round trip time in seconds | id, home_station, paired_station, url, session_name |
drone_port_power | Drone port power in MW | circuit_id, url, session_name |
drone_port_power_max | Max drone port power in MW | circuit_id, url, session_name |
extractor_power | extractor power use in MW | circuit_id, url, session_name |
extractor_power_max | extractor max power use in MW | circuit_id, url, session_name |
machine_items_produced_per_min | How much of an item a building is producing | item_name, machine_name, x, y, z, url, session_name |
machine_items_produced_pc | The efficiency with which a building is producing an item | item_name, machine_name, x, y, z, url, session_name |
factory_power | Power draw from factory machines in MW. Does not include extractors. | circuit_id, url, session_name |
factory_power_max | Max power draw from factory machines in MW. Does not include extractors. | circuit_id, url, session_name |
fracking_power | fracking power use in MW | circuit_id, url, session_name |
fracking_power_max | fracking max power use in MW | circuit_id, url, session_name |
hypertube_power | hypertube power use in MW | circuit_id, url, session_name |
hypertube_power_max | hypertube max power use in MW | circuit_id, url, session_name |
item_production_capacity_per_min | The factory's capacity for the production of an item, per minute | item_name, url, session_name |
item_production_capacity_pc | The percentage of an item's production capacity being used | item_name, url, session_name |
item_consumption_capacity_per_min | The factory's capacity for the consumption of an item, per minute | item_name, url, session_name |
item_consumption_capacity_pc | The percentage of an item's consumption capacity being used | item_name, url, session_name |
items_produced_per_min | The number of an item being produced, per minute | item_name, url, session_name |
items_consumed_per_min | The number of an item being consumed, per minute | item_name, url, session_name |
power_consumed | Power consumed on selected power circuit | circuit_id, url, session_name |
power_capacity | Power capacity on selected power circuit | circuit_id, url, session_name |
power_max_consumed | Maximum Power that can be consumed on selected power circuit | circuit_id, url, session_name |
battery_differential | Amount of power in excess/deficit going into or out of the battery bank(s). Positive = Charges batteries, Negative = Drains batteries | circuit_id, url, session_name |
battery_percent | Percentage of battery bank(s) charge | circuit_id, url, session_name |
battery_capacity | Total capacity of battery bank(s) | circuit_id, url, session_name |
battery_seconds_empty | Seconds until Batteries are empty | circuit_id, url, session_name |
battery_seconds_full | Seconds until Batteries are full | circuit_id, url, session_name |
fuse_triggered | Has the fuse been triggered | circuit_id, url, session_name |
portal_power | portal power use in MW | circuit_id, url, session_name |
portal_power_max | portal max power use in MW | circuit_id, url, session_name |
pump_power | pump power use in MW | circuit_id, url, session_name |
pump_power_max | pump max power use in MW | circuit_id, url, session_name |
resource_sink_power | AWESOME sink power use in MW | circuit_id, url, session_name |
resource_sink_power_max | AWESOME sink max power use in MW | circuit_id, url, session_name |
train_round_trip_seconds | Recorded train round trip time in seconds | name, url, session_name |
train_segment_trip_seconds | Recorded train trip between two stations | name, from, to, url, session_name |
train_derailed | Is train derailed | name, url, session_name |
train_power_consumed | How much power train is consuming | name, url, session_name |
train_power_circuit_consumed | How much power all trains are consuming in a circuit | circuit_id, url, session_name |
train_power_circuit_consumed_max | Maximum power all trains can consume on a circuit | circuit_id, url, session_name |
train_total_mass | Total mass of the train | name, url, session_name |
train_payload_mass | Current payload mass of the train | name, url, session_name |
train_max_payload_mass | Max payload mass of the train | name, url, session_name |
train_station_power | Train station power consumed in MW | circuit_id, url, session_name |
train_station_power_max | Train station power max consumed in MW | circuit_id, url, session_name |
vehicle_round_trip_seconds | Recorded vehicle round trip time in seconds | id, vehicle_type, path_name, url, session_name |
vehicle_fuel | Amount of fuel remaining | id, vehicle_type, fuel_type, url, session_name |
vehicle_station_power | Vehicle station power use in MW | circuit_id, url, session_name |
vehicle_station_power_max | Vehicle station max power use in MW | circuit_id, url, session_name |
Ficsit Remote Monitoring Companion reads metric data from the Ficsit Remote Montioring mod, stores it in a local Prometheus instance, and enables to users to visualise it using a realtime map or the Prometheus query interface.
To build FRMC, run make
from the Companion/
directory. This will download all the necessary dependencies and build FRMC.
Commits should contain a title on the first line, followed by a blank line, followed by as much detail as necessary to undertstand what the commit does and why. Lines should avoid being more than 80 characters wide.
Commit titles prefixed with feat:
, fix:
or improvement:
will appear in the release notes. If a change sensibly spans multiple commits, either use the last commit to add informationt to the release notes, or use en empty commit.
An example of a good commit looks like this
Update building data in marker popups on each request
Previously, the map was requesting new data regularly but wasn't
updating the marker contents. This meant that if a building's recipe
changed, it would never be reflected in the map.