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 mertics 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)
Name | Description | Labels |
---|---|---|
drone_port_battery_rate | Rate of batteries used | id, home_station, paired_station |
drone_port_round_trip_seconds | Recorded drone round trip time in seconds | id, home_station, paired_station |
machine_items_produced_per_min | How much of an item a building is producing | item_name, machine_name, x, y, z |
machine_items_produced_pc | The efficiency with which a building is producing an item | item_name, machine_name, x, y, z |
item_production_capacity_per_min | The factory's capacity for the production of an item, per minute | item_name |
item_production_capacity_pc | The percentage of an item's production capacity being used | item_name |
item_consumption_capacity_per_min | The factory's capacity for the consumption of an item, per minute | item_name |
item_consumption_capacity_pc | The percentage of an item's consumption capacity being used | item_name |
items_produced_per_min | The number of an item being produced, per minute | item_name |
items_consumed_per_min | The number of an item being consumed, per minute | item_name |
power_consumed | Power consumed on selected power circuit | circuit_id |
power_capacity | Power capacity on selected power circuit | circuit_id |
power_max_consumed | Maximum Power that can be consumed on selected power circuit | circuit_id |
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 |
battery_percent | Percentage of battery bank(s) charge | circuit_id |
battery_capacity | Total capacity of battery bank(s) | circuit_id |
battery_seconds_empty | Seconds until Batteries are empty | circuit_id |
battery_seconds_full | Seconds until Batteries are full | circuit_id |
fuse_triggered | Has the fuse been triggered | circuit_id |
train_round_trip_seconds | Recorded train round trip time in seconds | name |
train_segment_trip_seconds | Recorded train trip between two stations | name, from, to |
train_derailed | Is train derailed | name |
train_power_consumed | How much power train is consuming | name |
vehicle_round_trip_seconds | Recorded vehicle round trip time in seconds | id, vehicle_type, path_name |
vehicle_fuel | Amount of fuel remaining | id, vehicle_type, fuel_type |
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.