diff --git a/infra/bots/recipes/perf.expected/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json b/infra/bots/recipes/perf.expected/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
index 19c81e1..909bc17 100644
--- a/infra/bots/recipes/perf.expected/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
+++ b/infra/bots/recipes/perf.expected/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
@@ -199,6 +199,7 @@
       "~inc14.png",
       "~inc0.webp",
       "~inc1.webp",
+      "--verbose",
       "--outResultsFile",
       "[CUSTOM_[SWARM_OUT_DIR]]/perfdata/Perf-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release/data/nanobench_abc123_1337000001.json",
       "--properties",
diff --git a/infra/bots/recipes/perf.py b/infra/bots/recipes/perf.py
index d58953d..f7f6dba 100644
--- a/infra/bots/recipes/perf.py
+++ b/infra/bots/recipes/perf.py
@@ -107,6 +107,9 @@
     # Ensure that the bot framework does not think we have timed out.
     args.extend(['--keepAlive', 'true'])
 
+  # Some people don't like verbose output.
+  verbose = False
+
   match = []
   if 'Android' in bot:
     # Segfaults when run as GPU bench. Very large texture?
@@ -145,6 +148,9 @@
     match.append('~text_16_LCD_BK')
     match.append('~text_16_LCD_FF')
     match.append('~text_16_LCD_WT')
+  if 'Intel' in bot and 'Ubuntu' in bot and not 'Vulkan' in bot:
+    # TODO(dogben): Track down what's causing bots to die.
+    verbose = True
   if 'Vulkan' in bot and 'NexusPlayer' in bot:
     match.append('~Xfermode') # skia:6691
   if 'ANGLE' in bot and 'Radeon' in bot and 'Release' in bot:
@@ -186,6 +192,9 @@
     args.append('--match')
     args.extend(match)
 
+  if verbose:
+    args.append('--verbose')
+
   return args
 
 
diff --git a/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-Android_Skpbench.json b/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-Android_Skpbench.json
index 6d31aa0..09c6012 100644
--- a/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-Android_Skpbench.json
+++ b/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-Android_Skpbench.json
@@ -220,7 +220,9 @@
       "--resultsfile",
       "[CUSTOM_[SWARM_OUT_DIR]]/table",
       "--config",
-      "gles,glesinst4"
+      "gles,glesinst4",
+      "-v",
+      "5"
     ],
     "env": {
       "BUILDTYPE": "Release",
diff --git a/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-Android_Vulkan_Skpbench.json b/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-Android_Vulkan_Skpbench.json
index 6cbc4f7..4f623b2 100644
--- a/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-Android_Vulkan_Skpbench.json
+++ b/infra/bots/recipes/skpbench.expected/Perf-Android-Clang-PixelC-GPU-TegraX1-arm64-Release-Android_Vulkan_Skpbench.json
@@ -220,7 +220,9 @@
       "--resultsfile",
       "[CUSTOM_[SWARM_OUT_DIR]]/table",
       "--config",
-      "vk"
+      "vk",
+      "-v",
+      "5"
     ],
     "env": {
       "BUILDTYPE": "Release",
diff --git a/infra/bots/recipes/skpbench.expected/trybot.json b/infra/bots/recipes/skpbench.expected/trybot.json
index f9f5609..e93a574 100644
--- a/infra/bots/recipes/skpbench.expected/trybot.json
+++ b/infra/bots/recipes/skpbench.expected/trybot.json
@@ -220,7 +220,9 @@
       "--resultsfile",
       "[CUSTOM_[SWARM_OUT_DIR]]/table",
       "--config",
-      "gles,glesinst4"
+      "gles,glesinst4",
+      "-v",
+      "5"
     ],
     "env": {
       "BUILDTYPE": "Release",
diff --git a/infra/bots/recipes/skpbench.py b/infra/bots/recipes/skpbench.py
index d4b134f..fe57b1d 100644
--- a/infra/bots/recipes/skpbench.py
+++ b/infra/bots/recipes/skpbench.py
@@ -53,7 +53,9 @@
         api.path.join(api.vars.android_data_dir, 'skps'),
         '--adb',
         '--resultsfile', table,
-        '--config', config]
+        '--config', config,
+        # TODO(dogben): Track down what's causing bots to die.
+        '-v', '5']
 
   api.run(api.python, 'skpbench',
       script=skpbench_dir.join('skpbench.py'),
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json
index 2f6238c..7ca47b5 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC5PPYH-GPU-IntelHD405-x86_64-Debug.json
@@ -579,7 +579,8 @@
       "_",
       "image",
       "_",
-      ".SRW"
+      ".SRW",
+      "--verbose"
     ],
     "cwd": "[START_DIR]/skia",
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
index e25fc63..b87a0e4 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUC6i5SYK-GPU-IntelIris540-x86_64-Release.json
@@ -579,7 +579,8 @@
       "_",
       "image",
       "_",
-      ".SRW"
+      ".SRW",
+      "--verbose"
     ],
     "cwd": "[START_DIR]/skia",
     "env": {
diff --git a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json
index 06473b4..5dac619 100644
--- a/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json
+++ b/infra/bots/recipes/test.expected/Test-Ubuntu16-Clang-NUCDE3815TYKHE-GPU-IntelBayTrail-x86_64-Debug.json
@@ -581,7 +581,8 @@
       "_",
       ".SRW",
       "--match",
-      "~ImageStorageLoad"
+      "~ImageStorageLoad",
+      "--verbose"
     ],
     "cwd": "[START_DIR]/skia",
     "env": {
diff --git a/infra/bots/recipes/test.py b/infra/bots/recipes/test.py
index 3fc60ea..b05ea5f 100644
--- a/infra/bots/recipes/test.py
+++ b/infra/bots/recipes/test.py
@@ -168,6 +168,9 @@
   if 'SK_FORCE_RASTER_PIPELINE_BLITTER' in bot:
     args.remove('tests')
 
+  # Some people don't like verbose output.
+  verbose = False
+
   blacklisted = []
   def blacklist(quad):
     config, src, options, name = quad.split(' ') if type(quad) is str else quad
@@ -442,6 +445,10 @@
   if 'Vulkan' in bot and 'IntelIris540' in bot and 'Ubuntu' in bot:
     match.extend(['~VkHeapTests']) # skia:6245
 
+  if 'Intel' in bot and 'Ubuntu' in bot and not 'Vulkan' in bot:
+    # TODO(dogben): Track down what's causing bots to die.
+    verbose = True
+
   if 'Vulkan' in bot and 'IntelIris540' in bot and 'Win' in bot:
     # skia:6398
     blacklist(['vk', 'gm', '_', 'aarectmodes'])
@@ -551,12 +558,15 @@
     args.append('--noRAW_threading')
 
   if 'Valgrind' in bot and 'PreAbandonGpuContext' in bot:
-    args.append('--verbose')
+    verbose = True
 
   if 'NexusPlayer' in bot and 'CPU' in bot:
     # The Nexus Player's image decoding tests are slow enough that swarming
     # times it out for not printing anything frequently enough.  --verbose
     # makes dm print something every time we start or complete a task.
+    verbose = True
+
+  if verbose:
     args.append('--verbose')
 
   return args
