RStudio project for publishing plots from HWiNFO64 CSV files
Also an excersise in multithreading in R using the 'doSNOW' and 'Parallel' packages.
The script
- reads HWiNFO64 log file (csv) into a dataset.
- It parses the 'date' and 'time' columns into a single POSIX datetime.
- Sets up a local cluster.
- Farms out 1 job for each Regex.
- Each job :
- uses the regex to create smaller more coherent datasets based on individual components in the PC
- creates a plot for each group
- writes all plots to image files.
- Stops the cluster.
Goals:
- Break readCSV into chunks using row count / core count to create a
chunkSize
. - Improve Regex groups
- Test breaking up the plots into time chunks vs component chunks. *(1)
- better grouping so that means of groups can be plotted against each other. *(2)
- make faster *(3)
Regex Examples:
Each of these overly large plots has their timelines aligned. Noon and 3PM are marked as 12:00 and 15:00 respectively.
"^GPU.*C\\]"
GPU Temperatures in °C"^GPU.*Core*"
GPU Core Info"^GPU.*Mem*"
GPU Memory Info"^GPU.*MHz*"
GPU Clock Speeds"^(?!.*GPU).*(Mem|Page).*"
System Memory (Not GPU Memory)"^(?!.*GPU).*Core.*Use*"
System Core Use (Not GPU Core)"^(?!.*(?:Core|CPU|Activity|Page|Mem)).*\\[%\\]"
GPU Utilization as % (Not any other %)"^.*(Core|CPU).*\\[%\\]"
System Utilization as %"^.*Activity.*\\[%\\]"
Disk Utilization as %"^(?!.*RPM).*CPU*"
CPU Info (Not CPU Fan info)
Notes:
*(1) Currently the plotting is multi-threaded vertically. If a plot has 12 different component groups, each group uses a single thread to plot the entire timeline. Then the groups (component chunks) are just stacked on top of each other to make the plot. I want to know if its faster to break up the plots into chunks based on time. Then individual threads could plot all components for that period. Then each of the periods (time chunks) would be stacked next to each other to make the plot.
*(2) It would make more sense instead of looking at 16 core speeds, two different temperatures, and fan speeds, to look at the mean core speed vs mean core temp vs CPU fan speed. Much easier to read 3 lines instead of 19 lines all plotted over each other.
*(3) Always.