libmeasurement (for graybox-style fuzzing)

Change-Id: Id5dc59426d2edb8bb5be3319f7e9d5124dc7952f
diff --git a/sysfuzzer/vtscompiler/code_gen/CodeGenBase.cpp b/sysfuzzer/vtscompiler/code_gen/CodeGenBase.cpp
index 05c5462..285b141 100644
--- a/sysfuzzer/vtscompiler/code_gen/CodeGenBase.cpp
+++ b/sysfuzzer/vtscompiler/code_gen/CodeGenBase.cpp
@@ -46,6 +46,7 @@
 
   cpp_ss << "#include <iostream>" << endl;
   cpp_ss << "#include \"vts_datatype.h\"" << endl;
+  cpp_ss << "#include \"vts_measurement.h\"" << endl;
   for (auto const& header : message.header()) {
     cpp_ss << "#include " << header << endl;
   }
@@ -140,5 +141,17 @@
   ss << "}  // namespace android" << endl;
 }
 
+
+void CodeGenBase::GenerateCodeToStartMeasurement(std::stringstream& ss) {
+  ss << "VtsMeasurement vts_measurement;" << endl;
+  ss << "vts_measurement.Start();" << endl;
+}
+
+
+void CodeGenBase::GenerateCodeToStopMeasurement(std::stringstream& ss) {
+  ss << "vector<float>* measured = vts_measurement.Stop();" << endl;
+  ss << "cout << \"time \" << (*measured)[0] << endl;" << endl;
+}
+
 }  // namespace vts
 }  // namespace android