OliverKeyes has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/259402

Change subject: Start spider inclusion
......................................................................

Start spider inclusion

Begins including spiders in the ZRR dygraphs. Don't merge yet,
Mikhail will be iterating on it.

Bug: T121434
Change-Id: Iaf58bfebfa5018aa8d1d2da4fff431ed3eb30126
---
M server.R
M ui.R
M utils.R
3 files changed, 35 insertions(+), 5 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/wikimedia/discovery/rainbow 
refs/changes/02/259402/1

diff --git a/server.R b/server.R
index 4320bb1..e410144 100644
--- a/server.R
+++ b/server.R
@@ -202,6 +202,7 @@
   # Failure plots
   output$failure_rate_plot <- renderDygraph({
     failure_dygraph_set %>%
+      failure_spider_subset(input$failure_spider_selector) %>%
       polloi::smoother(smooth_level = 
polloi::smooth_switch(input$smoothing_global, input$smoothing_failure_rate)) %>%
       
polloi::subset_by_date_range(time_frame_range(input$failure_rate_timeframe, 
input$failure_rate_timeframe_daterange)) %>%
       polloi::make_dygraph(xlab = "Date", ylab = "Queries", title = "Search 
Queries with Zero Results, by day")
@@ -311,7 +312,7 @@
   output$kpi_summary_box_zero_results <- renderValueBox({
     date_range <- input$kpi_summary_date_range_selector
     x <- polloi::subset_by_date_range(failure_dygraph_set, from = 
start_date(date_range), to = Sys.Date() - 1)
-    x <- transform(x, Rate = `Zero Result Queries` / `Search Queries`)$Rate
+    x <- transform(x, Rate = zero_results/total)$Rate
     if (date_range == "quarterly") {
       return(valueBox(subtitle = "Zero results rate", color = "orange",
                       value = sprintf("%.1f%%", median(100 * x))))
diff --git a/ui.R b/ui.R
index ac32202..9484545 100644
--- a/ui.R
+++ b/ui.R
@@ -2,6 +2,11 @@
 library(shinydashboard)
 library(dygraphs)
 
+# spider selector
+spider_selector <- function(input_id){
+  checkboxInput(input_id, label = "Include spiders", value = TRUE)
+}
+
 #Header elements for the visualisation
 header <- dashboardHeader(title = "Search Metrics", 
dropdownMenuOutput("message_menu"), disable = FALSE)
 
@@ -208,6 +213,7 @@
               column(polloi::smooth_select("smoothing_failure_rate"), width = 
4),
               column(polloi::timeframe_select("failure_rate_timeframe"), width 
= 4),
               column(polloi::timeframe_daterange("failure_rate_timeframe"), 
width = 4)),
+            spider_selector("failure_spider_selector"),
             dygraphOutput("failure_rate_plot"),
             dygraphOutput("failure_rate_change_plot"),
             includeMarkdown("./tab_documentation/failure_rate.md")
diff --git a/utils.R b/utils.R
index 5b63b90..6feed96 100644
--- a/utils.R
+++ b/utils.R
@@ -5,6 +5,8 @@
 library(magrittr)
 library(polloi)
 library(xts)
+library(data.table)
+library(dplyr)
 
 ## Read in desktop data and generate means for the value boxes, along with a 
time-series appropriate form for
 ## dygraphs.
@@ -60,11 +62,12 @@
 
 read_failures <- function(date) {
 
-  data <- polloi::read_dataset("search/cirrus_query_aggregates.tsv")
-  interim_data <- reshape2::dcast(data, formula = date ~ variable, 
fun.aggregate = sum)
-  failure_dygraph_set <<- interim_data
+  data <- polloi::read_dataset("search/cirrus_query_aggregates_new.tsv")
+  failure_dygraph_set <<- data
 
-  interim_vector <- interim_data$`Zero Result Queries`/interim_data$`Search 
Queries`
+  interim_data <- as.data.table(data)
+  interim_data <- interim_data[,list(zero_results = sum(zero_results), total = 
sum(total)), by = c("date")]
+  interim_vector <- interim_data$zero_results/interim_data$total
   output_vector <- (interim_vector[2:nrow(interim_data)] - 
interim_vector[1:(nrow(interim_data)-1)]) / 
interim_vector[1:(nrow(interim_data)-1)]
 
   failure_roc_dygraph_set <<- data.frame(date = 
interim_data$date[2:nrow(interim_data)],
@@ -132,3 +135,23 @@
 start_date <- function(date_range) {
   return(Sys.Date() - (switch(date_range, daily = 2, weekly = 14, monthly = 
60, quarterly = 90) + 1))
 }
+
+# Conditional rate generation for the ZRR data
+conditional_rate <- function(data){
+  rate_na <- is.na(data$rate)
+  data$rate[rate_na] <- data$zero_results[rate_na]/data$total[rate_na]
+  return(data)
+}
+
+failure_spider_subset <- function(data, val){
+
+  if(!val){
+    data <- data[!data$is_automata,]
+
+  }
+
+  return({
+    data %>% group_by(date) %>%
+      summarise(total = sum(total), zero_results = sum(zero_results))
+  })
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/259402
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iaf58bfebfa5018aa8d1d2da4fff431ed3eb30126
Gerrit-PatchSet: 1
Gerrit-Project: wikimedia/discovery/rainbow
Gerrit-Branch: master
Gerrit-Owner: OliverKeyes <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to