dkorunic / iSMC

Apple SMC CLI tool that can decode and display temperature, fans, battery, power, voltage and current information
GNU General Public License v3.0
113 stars 13 forks source link

Adds support for outputting in line format for influx. #17

Closed seaburr closed 1 year ago

seaburr commented 1 year ago

This is an initial attempt to add support for outputting the data in Line format for InfluxDB. Parsing the JSON via Telegraf isn't trivial hence adding this option.

I don't expect this to be merged as-is, it's missing tests and I'm sure this is not very Go-like, coming from Python. For now, I am putting this up to see if there's an appetite to even add this functionality and find out what you'd want changed before it's viewed as an acceptable change.

seaburr commented 1 year ago

Example output from my M1 MBA

cberndt@cb-m1-mba bin % ./iSMC --output influx temp gpu_mtr_temp_sensor1 value=30.00 1684352461734079000 pmu2_tdev3 value=21.38 1684352461734079000 pmu2_tdie5 value=39.97 1684352461734079000 pmu2_tdie7 value=41.15 1684352461734079000 pmu_tdev2 value=21.95 1684352461734079000 pmu_tdev4 value=34.00 1684352461734079000 pmu_tdie5 value=39.44 1684352461734079000 pacc_mtr_temp_sensor7 value=33.00 1684352461734079000 battery_2 key=tb1t,value=32.1 1684352461734079000 eacc_mtr_temp_sensor0 value=32.62 1684352461734079000 pacc_mtr_temp_sensor3 value=31.41 1684352461734079000 pmu2_tdie6 value=41.26 1684352461734079000 pacc_mtr_temp_sensor4 value=32.72 1684352461734079000 nand_ch0_temp value=33.00 1684352461734079000 pmu_tdev5 value=35.17 1684352461734079000 pmu2_tdie2 value=41.37 1684352461734079000 pacc_mtr_temp_sensor5 value=33.52 1684352461734079000 nand key=th0x,value=33.7 1684352461734079000 ane_mtr_temp_sensor1 value=30.00 1684352461734079000 pmu2_tdie8 value=41.37 1684352461734079000 battery_3 key=tb2t,value=31.5 1684352461734079000 pmu_tcal value=51.85 1684352461734079000 pmu2_tdev1 value=21.50 1684352461734079000 pmu2_tdev5 value=34.10 1684352461734079000 pmu_tdie6 value=39.01 1684352461734079000 pmu2_tdie3 value=40.40 1684352461734079000 pmu_tdev7 value=33.74 1684352461734079000 pmu_tdie4 value=39.01 1684352461734079000 pmu2_tdie1 value=41.48 1684352461734079000 pmu_tdie8 value=37.72 1684352461734079000 pmu2_tdev2 value=33.69 1684352461734079000 pmu2_tdie4 value=41.15 1684352461734079000 airport_1 key=tw0p,value=34.2 1684352461734079000 drive_0_oobv3_max key=th0x,value=33.7 1684352461734079000 pmgr_soc_die_temp_sensor0 value=34.80 1684352461734079000 pmgr_soc_die_temp_sensor2 value=34.59 1684352461734079000 pmu_tdie7 value=39.87 1684352461734079000 soc_mtr_temp_sensor1 value=36.83 1684352461734079000 pacc_mtr_temp_sensor8 value=33.56 1684352461734079000 pmu_tp3w value=39.87 1684352461734079000 pacc_mtr_temp_sensor2 value=30.08 1684352461734079000 pmgr_soc_die_temp_sensor1 value=34.67 1684352461734079000 pmu_tdie1 value=40.19 1684352461734079000 soc_mtr_temp_sensor2 value=33.42 1684352461734079000 gas_gauge_battery value=32.10 1684352461734079000 pacc_mtr_temp_sensor9 value=30.98 1684352461734079000 soc_mtr_temp_sensor0 value=34.78 1684352461734079000 eacc_mtr_temp_sensor3 value=34.33 1684352461734079000 battery_1 key=tb0t,value=32.1 1684352461734079000 gpu_heatsink_1 key=tg0h,value=32.0 1684352461734079000 pmu_tdev1 value=22.08 1684352461734079000 pmu_tdev8 value=33.82 1684352461734079000 pmu_tdie2 value=38.15 1684352461734079000 isp_mtr_temp_sensor5 value=30.00 1684352461734079000 pmu_tdev6 value=21.86 1684352461734079000 pmu2_tdev4 value=35.50 1684352461734079000 gpu_mtr_temp_sensor4 value=30.00 1684352461734079000 pmu_tdev3 value=33.72 1684352461734079000 pmu2_tcal value=51.85 1684352461734079000 cberndt@cb-m1-mba bin % ./iSMC --output influx battery battery_count key=bnum,value=0 1684352878166591000 battery_info key=bsin,value=0 1684352878166591000 battery_power key=batp,value=false 1684352878166591000 cberndt@cb-m1-mba bin % ./iSMC --output influx temp isp_mtr_temp_sensor5 value=30.00 1684352897045829000 nand_ch0_temp value=33.00 1684352897045829000 pmu_tdev2 value=21.95 1684352897045829000 pmu_tdie5 value=39.55 1684352897045829000 eacc_mtr_temp_sensor3 value=35.69 1684352897045829000 battery_3 key=tb2t,value=32.1 1684352897045829000 gpu_mtr_temp_sensor1 value=30.00 1684352897045829000 gpu_mtr_temp_sensor4 value=30.00 1684352897045829000 ane_mtr_temp_sensor1 value=30.00 1684352897045829000 pmu_tdie1 value=39.97 1684352897045829000 pacc_mtr_temp_sensor3 value=34.34 1684352897045829000 pmgr_soc_die_temp_sensor0 value=34.67 1684352897045829000 pmu2_tdie8 value=41.05 1684352897045829000 soc_mtr_temp_sensor0 value=34.38 1684352897045829000 soc_mtr_temp_sensor2 value=33.42 1684352897045829000 pacc_mtr_temp_sensor2 value=32.14 1684352897045829000 pmu_tdie6 value=38.79 1684352897045829000 pmu2_tdev2 value=33.85 1684352897045829000 pmu2_tdie6 value=40.62 1684352897045829000 pmu2_tdie4 value=40.83 1684352897045829000 pmu_tdev3 value=33.74 1684352897045829000 pmu_tdie7 value=39.33 1684352897045829000 pmu2_tdie1 value=40.51 1684352897045829000 pmgr_soc_die_temp_sensor1 value=34.84 1684352897045829000 pmu_tdev8 value=33.65 1684352897045829000 eacc_mtr_temp_sensor0 value=34.83 1684352897045829000 pacc_mtr_temp_sensor9 value=30.94 1684352897045829000 battery_1 key=tb0t,value=32.1 1684352897045829000 gpu_heatsink_1 key=tg0h,value=32.0 1684352897045829000 pmgr_soc_die_temp_sensor2 value=34.77 1684352897045829000 pmu2_tdie3 value=40.40 1684352897045829000 pacc_mtr_temp_sensor5 value=32.83 1684352897045829000 pmu_tcal value=51.85 1684352897045829000 pmu_tdev5 value=34.95 1684352897045829000 pmu2_tdie2 value=41.69 1684352897045829000 pmu2_tcal value=51.85 1684352897045829000 pmu2_tdev5 value=34.20 1684352897045829000 pmu2_tdie7 value=40.73 1684352897045829000 pmu2_tdev3 value=21.26 1684352897045829000 pmu_tdev6 value=21.86 1684352897045829000 pmu_tdev7 value=34.00 1684352897045829000 pmu_tdie2 value=36.97 1684352897045829000 pacc_mtr_temp_sensor7 value=34.16 1684352897045829000 pmu_tdev4 value=34.42 1684352897045829000 pmu2_tdev4 value=34.97 1684352897045829000 soc_mtr_temp_sensor1 value=36.06 1684352897045829000 pmu_tdev1 value=22.08 1684352897045829000 pmu_tdie8 value=37.72 1684352897045829000 pacc_mtr_temp_sensor4 value=31.73 1684352897045829000 battery_2 key=tb1t,value=32.1 1684352897045829000 drive_0_oobv3_max key=th0x,value=33.8 1684352897045829000 pmu2_tdev1 value=21.38 1684352897045829000 pmu_tdie4 value=38.69 1684352897045829000 pmu2_tdie5 value=41.05 1684352897045829000 gas_gauge_battery value=32.10 1684352897045829000 pacc_mtr_temp_sensor8 value=34.20 1684352897045829000 airport_1 key=tw0p,value=34.3 1684352897045829000 nand key=th0x,value=33.8 1684352897045829000 pmu_tp3w value=39.44 1684352897045829000

dkorunic commented 1 year ago

LGTM, merging!