Move over to ABSL logging and flags.

Removes gperftools too since that wants gflags.

Here come the fireworks.

Change-Id: I79cb7bcf60f1047fbfa28bfffc21a0fd692e4b1c
Signed-off-by: Austin Schuh <austin.linux@gmail.com>
diff --git a/aos/ftrace.cc b/aos/ftrace.cc
index 37dc147..c731264 100644
--- a/aos/ftrace.cc
+++ b/aos/ftrace.cc
@@ -3,16 +3,18 @@
 #include <cstdarg>
 #include <cstdio>
 
+#include "absl/flags/flag.h"
+#include "absl/log/check.h"
 #include "absl/strings/str_cat.h"
 
-DEFINE_bool(enable_ftrace, false,
-            "If false, disable logging to /sys/kernel/tracing/trace_marker");
+ABSL_FLAG(bool, enable_ftrace, false,
+          "If false, disable logging to /sys/kernel/tracing/trace_marker");
 
 namespace aos {
 
 namespace {
 int MaybeCheckOpen(const char *file) {
-  if (!FLAGS_enable_ftrace) return -1;
+  if (!absl::GetFlag(FLAGS_enable_ftrace)) return -1;
   int result =
       open(absl::StrCat("/sys/kernel/tracing/", file).c_str(), O_WRONLY);
   if (result == -1) {
@@ -42,6 +44,13 @@
   }
 }
 
+void Ftrace::TurnOffOrDie() {
+  CHECK(on_fd_ != -1)
+      << ": Failed to open tracing_on earlier, cannot turn off tracing";
+  char zero = '0';
+  CHECK_EQ(write(on_fd_, &zero, 1), 1) << ": Failed to turn tracing off";
+}
+
 void Ftrace::FormatMessage(const char *format, ...) {
   if (message_fd_ == -1) {
     return;