library(WinPerfCounter)
library(ggplot2)
library(cowplot)
library(formattable)
library(gridExtra)
library(dplyr)
library(grid)
library(tibble)
library(knitr)
library(kableExtra)
time.lap = list()
knitr::opts_chunk$set(echo = FALSE, warning=FALSE, fig.width=12, fig.height=8)
time.lap <- c(time.lap, list(first = proc.time()))

Rstudio.csv

filename <- params$csvfile
filename <- "../../../../../tests/testthat/rstudio.csv"
header <- VMMap.read.header(filename)
body <- VMMap.read.body(params$csvfile)
time.lap <- c(time.lap, list(read1 = proc.time()))

Summary

header %>% 
  dplyr::mutate_all(~ format(., big.mark=",", scientific=F)) %>% 
  kable("html", escape = FALSE, align = c('l', rep('r', ncol(header) -1))) %>%  
  kable_styling(bootstrap_options = c("striped", "hover")) %>% 
  row_spec(2, background = "#D8ADFF") %>% # Image
  row_spec(3, background = "#B0D7FF") %>% # Mapped_File
  row_spec(4, background = "#DDEEFF") %>% # Shareable
  row_spec(5, background = "#FF9664") %>% # Heap
  row_spec(6, background = "#D4E27A") %>% # Managed Heap
  row_spec(7, background = "#FFC080") %>% # Stack
  row_spec(8, background = "#F4F400") %>% # Private Data
  row_spec(9, background = "#D2A0A0") %>% # Page Table
  row_spec(10, background = "#D2D2D2")    # Unusable

Chart

colorVector <- c("Image" = "#D8ADFF", "Mapped_File"  = "#B0D7FF", "Shareable"  = "#DDEEFF", "Heap" = "#FF9664", 
                 "Managed_Heap" = "#D4E27A", "Stack" = "#FFC080", "Private_Data" = "#F4F400", "Page_Table" = "#D2A0A0", "Unusable" = "#D2D2D2")
gdata <- header %>% 
  dplyr::filter(Type != "Total" & Type != "Free" & Type != "Unusable") %>% 
  dplyr::mutate(Type = factor(Type, levels=
                                c("Image", "Mapped_File", "Shareable", "Heap", "Managed_Heap", "Stack", 
                                  "Private_Data", "Page_Table", "Unusable"))) %>% 
  dplyr::select(Type, Committed, Private, Total_WS) %>%
  tidyr::gather(key = category, value = value, -Type, factor_key = TRUE) %>% 
  dplyr::mutate(value = value /(1024))

g <- ggplot(gdata, aes(x = category, y = value, fill = Type) )
g <- g + geom_bar(stat = "identity") + ylab("Memory[MB]")
g <- g + scale_fill_manual(values = colorVector)
g
time.lap <- c(time.lap, list(chart1 = proc.time()))

ConsoleApplication1.cs

filename <- params$csvfile
filename <- "../../../../../tests/testthat/ConsoleApp1.csv"
header <- VMMap.read.header(filename)
body <- VMMap.read.body(params$csvfile)
time.lap <- c(time.lap, list(read2 = proc.time()))

Summary

header %>% 
  dplyr::mutate_all(~ format(., big.mark=",", scientific=F)) %>% 
  kable("html", escape = FALSE, align = c('l', rep('r', ncol(header) -1))) %>%  
  kable_styling(bootstrap_options = c("striped", "hover")) %>% 
  row_spec(2, background = "#D8ADFF") %>% # Image
  row_spec(3, background = "#B0D7FF") %>% # Mapped_File
  row_spec(4, background = "#DDEEFF") %>% # Shareable
  row_spec(5, background = "#FF9664") %>% # Heap
  row_spec(6, background = "#D4E27A") %>% # Managed Heap
  row_spec(7, background = "#FFC080") %>% # Stack
  row_spec(8, background = "#F4F400") %>% # Private Data
  row_spec(9, background = "#D2A0A0") %>% # Page Table
  row_spec(10, background = "#D2D2D2")    # Unusable

Chart

colorVector <- c("Image" = "#D8ADFF", "Mapped_File"  = "#B0D7FF", "Shareable"  = "#DDEEFF", "Heap" = "#FF9664", 
                 "Managed_Heap" = "#D4E27A", "Stack" = "#FFC080", "Private_Data" = "#F4F400", "Page_Table" = "#D2A0A0", "Unusable" = "#D2D2D2")
gdata <- header %>% 
  dplyr::filter(Type != "Total" & Type != "Free" & Type != "Unusable") %>% 
  dplyr::mutate(Type = factor(Type, levels=
                                c("Image", "Mapped_File", "Shareable", "Heap", "Managed_Heap", "Stack", 
                                  "Private_Data", "Page_Table", "Unusable"))) %>% 
  dplyr::select(Type, Committed, Private, Total_WS) %>%
  tidyr::gather(key = category, value = value, -Type, factor_key = TRUE) %>% 
  dplyr::mutate(value = value /(1024))

g <- ggplot(gdata, aes(x = category, y = value, fill = Type) )
g <- g + geom_bar(stat = "identity") + ylab("Memory[MB]")
g <- g + scale_fill_manual(values = colorVector)
g
time.lap <- c(time.lap, list(chart2 = proc.time()))

Report Self

time.lap <- c(time.lap, list(Plotting = proc.time()))

time.lap.df.tmp <- as.data.frame(
  t(
    data.frame(purrr::map(time.lap, ~ c(.["user.self"], .["sys.self"], .["elapsed"])))))
time.lap.viz <- time.lap.df.tmp %>% rownames_to_column(var = "Stage") %>% dplyr::mutate(
  user.self = user.self - lag(user.self, default = 0),
  sys.self  = sys.self - lag(sys.self, default = 0),
  elapsed   = elapsed - lag(elapsed, default = 0)) %>% dplyr::filter(Stage != "first");

formattable(time.lap.viz, list(
  user.self = color_bar("azure1"),
  sys.self = color_bar("azure2"),
  elapsed = color_bar("azure4")
))


wfjsg/WinPerfCounter.r documentation built on May 16, 2019, 11:13 p.m.