Difference between revisions of "Sar/Visualize CPU data"
Jump to navigation
Jump to search
Line 21: | Line 21: | ||
cpu.data$timestamp <- as.POSIXct( cpu.data$timestamp ) |
cpu.data$timestamp <- as.POSIXct( cpu.data$timestamp ) |
||
cpu.data$CPU[ cpu.data$CPU == "-1" ] <- "all" |
cpu.data$CPU[ cpu.data$CPU == "-1" ] <- "all" |
||
ggplot( data=cpu.data, aes( x=timestamp, y=user, group=CPU, colour=CPU ) |
cpu.graph <- ggplot( data=cpu.data, aes( x=timestamp, y=user, group=CPU, colour=CPU ) ) |
||
cpu.graph + geom_line() |
|||
[[Category: R]] |
[[Category: R]] |
Revision as of 20:42, 8 June 2014
This is a five minute guide how to visualize Linux's sar data provided by the sysstat utility without a lot of mangeling the data.
Goal
Create CPU graphs in R from the sar utility without massaging the output data too much.
Prerequisites
- The Linux sysstat package installed and configured to report performance data.
- R
- ggplot2 R library
Howto
Dumping the sar data with sadf
The data sar collects is in binary format and needs to be converted first to a format that can be imported into R. This is done with the sadf command which converts the collected data into tabular data delimited by semicolon.
sadf -t -d -P ALL <sar-file> > <output>
Importing the data into R
The next step is to read the tabular data into R and print the graphs there are just a handful of commands to do this. In R type the following commands.
library( ggplot2 )
cpu.data <- read.csv( file="<sadf-output>", sep=";" )
cpu.data$timestamp <- as.POSIXct( cpu.data$timestamp )
cpu.data$CPU[ cpu.data$CPU == "-1" ] <- "all"
cpu.graph <- ggplot( data=cpu.data, aes( x=timestamp, y=user, group=CPU, colour=CPU ) )
cpu.graph + geom_line()