diff --git a/perf_recorder.cc b/perf_recorder.cc
index 0c4a89d..e3812b4 100644
--- a/perf_recorder.cc
+++ b/perf_recorder.cc
@@ -10,6 +10,7 @@
 #include "perf_recorder.h"
 #include "perf_serializer.h"
 #include "quipper_string.h"
+#include "scoped_temp_path.h"
 #include "utils.h"
 
 namespace quipper {
@@ -24,10 +25,14 @@
     const string& perf_command,
     const int time,
     quipper::PerfDataProto* perf_data) {
-  string full_perf_command = perf_command + " -o - -- " + GetSleepCommand(time);
+  ScopedTempFile output_file;
+  string full_perf_command = perf_command + " -o " + output_file.path() +
+                             " -- " + GetSleepCommand(time);
 
-  std::vector<char> raw_perf_data;
-  RunCommandAndGetStdout(full_perf_command, &raw_perf_data);
+  // The perf command writes the output to a file. |stdout_data| is just a dummy
+  // container so we have something to pass to RunCommandAndGetStdout().
+  std::vector<char> stdout_data;
+  RunCommandAndGetStdout(full_perf_command, &stdout_data);
 
   // Now convert it into a protobuf.
   PerfSerializer perf_serializer;
@@ -39,8 +44,7 @@
 
   perf_serializer.set_options(options);
 
-  return (perf_serializer.ReadFromVector(raw_perf_data) &&
-          perf_serializer.Serialize(perf_data));
+  return perf_serializer.SerializeFromFile(output_file.path(), perf_data);
 }
 
 }  // namespace quipper
diff --git a/perf_recorder_test.cc b/perf_recorder_test.cc
index 3937e10..9f29b55 100644
--- a/perf_recorder_test.cc
+++ b/perf_recorder_test.cc
@@ -24,6 +24,7 @@
   EXPECT_TRUE(perf_recorder.RecordAndConvertToProtobuf(perf_command_line,
                                                        1,
                                                        &perf_data_proto));
+  EXPECT_GT(perf_data_proto.build_ids_size(), 0);
 }
 
 }  // namespace quipper
diff --git a/scoped_temp_path.cc b/scoped_temp_path.cc
index a424199..3be0c4e 100644
--- a/scoped_temp_path.cc
+++ b/scoped_temp_path.cc
@@ -15,7 +15,7 @@
 // Temporary paths follow this format, with the X's replaced by letters or
 // digits. This cannot be defined as a const variable because mkstemp() and
 // mkdtemp() requires an initialized but variable string as an argument.
-#define TEMP_PATH_STRING    "/tmp/quipper.XXXXXXXX"
+#define TEMP_PATH_STRING    "/tmp/quipper.XXXXXX"
 
 namespace quipper {
 
