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 | 无人机平台燃料消耗率 | id, home_station, fuel_name, url, session_name |
| drone_port_fuel_amount | 无人机平台库存中的燃料量 | id, home_station, fuel_name, url, session_name |
| drone_port_round_trip_seconds | 记录无人机往返时间(秒) | id, home_station, paired_station, url, session_name |
| drone_port_power | 无人机平台当前消耗电力,单位为 MW | circuit_id, url, session_name |
| drone_port_power_max | 无人机平台最大消耗电力,单位为 MW | circuit_id, url, session_name |
| extractor_power | 提取器当前消耗电力,单位为 MW | circuit_id, url, session_name |
| extractor_power_max | 提取器最大消耗电力,单位为 MW | circuit_id, url, session_name |
| machine_items_produced_per_min | 建筑物当前每分钟生产多少物品 | item_name, machine_name, x, y, z, url, session_name |
| machine_items_produced_pc | 建筑物生产物品的效率 | item_name, machine_name, x, y, z, url, session_name |
| factory_power | 工厂机器的电力消耗,单位为 MW。不包括提取设备。 | circuit_id, url, session_name |
| factory_power_max | 工厂机器的最大电力消耗,单位为 MW。不包括提取器。 | 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 | 物品每分钟生产效率百分比 | item_name, url, session_name |
| item_production_capacity_pc | 物品理论最大产量 | item_name, url, session_name |
| item_consumption_capacity_per_min | 物品每分钟消耗效率百分比 | item_name, url, session_name |
| item_consumption_capacity_pc | 物品理论最大消耗量 | item_name, url, session_name |
| items_produced_per_min | 物品当前每分钟产量 | item_name, url, session_name |
| items_consumed_per_min | 物品当前消耗量 | item_name, url, session_name |
| power_consumed | 选定电路的当前电力消耗 | circuit_id, url, session_name |
| power_capacity | 选定电路的电力理论最大值 | circuit_id, url, session_name |
| power_max_consumed | 选定电路的最小消耗电量(需要这么多才能启动) | circuit_id, url, session_name |
| battery_differential | 电池组输入或输出的电量盈余或不足。正值表示给电池充电,负值表示消耗电池电量。 | circuit_id, url, session_name |
| battery_percent | 电池组充电百分比 | circuit_id, url, session_name |
| battery_capacity | 电池组总容量 | circuit_id, url, session_name |
| battery_seconds_empty | 电池耗尽还有多少秒 | circuit_id, url, session_name |
| battery_seconds_full | 电池充满所需秒数 | circuit_id, url, session_name |
| fuse_triggered | 保险丝被触发了吗 | circuit_id, url, session_name |
| portal_power | 传送门当前消耗电力,单位为 MW | circuit_id, url, session_name |
| portal_power_max | 传送门最大消耗电力,单位为 MW | circuit_id, url, session_name |
| pump_power | 水泵当前消耗电力,单位为 MW | circuit_id, url, session_name |
| pump_power_max | 水泵最大消耗电力,单位为 MW | circuit_id, url, session_name |
| resource_sink_power | AWESOME当前消耗电力,单位为 MW | circuit_id, url, session_name |
| resource_sink_power_max | AWESOME最大消耗电力,单位为 MW | circuit_id, url, session_name |
| resource_sink_total_points | AWESOME 累计积分总数 | sink_type, url, session_name |
| resource_sink_points_to_coupon | AWESOME 下一张优惠劵的积分数 | sink_type, url, session_name |
| resource_sink_percent | AWESOME 下一张优惠券的进度百分比 | sink_type, url, session_name |
| resource_sink_collected_coupons | AWESOME 里的优惠券数量 | 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.