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/frc971/can_logger/BUILD b/frc971/can_logger/BUILD
index 7c4a319..f72f085 100644
--- a/frc971/can_logger/BUILD
+++ b/frc971/can_logger/BUILD
@@ -11,7 +11,8 @@
"//aos:init",
"//aos/events:shm_event_loop",
"//aos/time",
- "@com_github_google_glog//:glog",
+ "@com_google_absl//absl/log",
+ "@com_google_absl//absl/log:check",
],
)
@@ -26,7 +27,8 @@
":can_logging_fbs",
"//aos/events:shm_event_loop",
"//aos/scoped:scoped_fd",
- "@com_github_google_glog//:glog",
+ "@com_google_absl//absl/log",
+ "@com_google_absl//absl/log:check",
],
)
@@ -51,7 +53,8 @@
"//aos:init",
"//aos/events/logging:log_reader",
"//aos/time",
- "@com_github_google_glog//:glog",
+ "@com_google_absl//absl/log",
+ "@com_google_absl//absl/log:check",
],
)
@@ -67,6 +70,7 @@
":can_logging_fbs",
"//aos/events:event_loop",
"//aos/scoped:scoped_fd",
- "@com_github_google_glog//:glog",
+ "@com_google_absl//absl/log",
+ "@com_google_absl//absl/log:check",
],
)
diff --git a/frc971/can_logger/asc_logger.h b/frc971/can_logger/asc_logger.h
index e7d4e74..7ac8b5b 100644
--- a/frc971/can_logger/asc_logger.h
+++ b/frc971/can_logger/asc_logger.h
@@ -4,8 +4,9 @@
#include <iomanip>
#include <iostream>
-#include "gflags/gflags.h"
-#include "glog/logging.h"
+#include "absl/flags/flag.h"
+#include "absl/log/check.h"
+#include "absl/log/log.h"
#include "aos/events/event_loop.h"
#include "frc971/can_logger/can_logging_generated.h"
diff --git a/frc971/can_logger/can_logger.cc b/frc971/can_logger/can_logger.cc
index d020f6a..d350672 100644
--- a/frc971/can_logger/can_logger.cc
+++ b/frc971/can_logger/can_logger.cc
@@ -1,12 +1,14 @@
#include "frc971/can_logger/can_logger.h"
-DEFINE_bool(poll, false,
- "If true, poll the CAN bus every 100ms. If false, wake up for "
- "each frame and publish it.");
+#include "absl/flags/flag.h"
-DEFINE_int32(priority, 10,
- "If --poll is not set, set the realtime priority to this.");
-DEFINE_int32(affinity, -1, "If positive, pin to this core.");
+ABSL_FLAG(bool, poll, false,
+ "If true, poll the CAN bus every 100ms. If false, wake up for "
+ "each frame and publish it.");
+
+ABSL_FLAG(int32_t, priority, 10,
+ "If --poll is not set, set the realtime priority to this.");
+ABSL_FLAG(int32_t, affinity, -1, "If positive, pin to this core.");
namespace frc971::can_logger {
@@ -17,12 +19,12 @@
fd_(socket(PF_CAN, SOCK_RAW | SOCK_NONBLOCK, CAN_RAW)),
frames_sender_(shm_event_loop_->MakeSender<CanFrame>(channel_name)) {
// TODO(max): Figure out a proper priority
- if (!FLAGS_poll) {
- shm_event_loop_->SetRuntimeRealtimePriority(FLAGS_priority);
+ if (!absl::GetFlag(FLAGS_poll)) {
+ shm_event_loop_->SetRuntimeRealtimePriority(absl::GetFlag(FLAGS_priority));
}
- if (FLAGS_affinity >= 0) {
+ if (absl::GetFlag(FLAGS_affinity) >= 0) {
shm_event_loop_->SetRuntimeAffinity(
- aos::MakeCpusetFromCpus({FLAGS_affinity}));
+ aos::MakeCpusetFromCpus({absl::GetFlag(FLAGS_affinity)}));
}
struct ifreq ifr;
strcpy(ifr.ifr_name, interface_name.data());
@@ -49,7 +51,7 @@
CHECK_EQ(opt_size, sizeof(recieve_buffer_size));
VLOG(0) << "CAN recieve bufffer is " << recieve_buffer_size << " bytes large";
- if (FLAGS_poll) {
+ if (absl::GetFlag(FLAGS_poll)) {
aos::TimerHandler *timer_handler =
shm_event_loop_->AddTimer([this]() { Poll(); });
timer_handler->set_name("CAN logging Loop");
diff --git a/frc971/can_logger/log_to_asc.cc b/frc971/can_logger/log_to_asc.cc
index 73ddd4e..38c09af 100644
--- a/frc971/can_logger/log_to_asc.cc
+++ b/frc971/can_logger/log_to_asc.cc
@@ -5,8 +5,8 @@
#include "frc971/can_logger/asc_logger.h"
#include "frc971/can_logger/can_logging_generated.h"
-DEFINE_string(node, "", "Node to replay from the perspective of.");
-DEFINE_string(output_path, "/tmp/can_log.asc", "Log to output.");
+ABSL_FLAG(std::string, node, "", "Node to replay from the perspective of.");
+ABSL_FLAG(std::string, output_path, "/tmp/can_log.asc", "Log to output.");
int main(int argc, char *argv[]) {
aos::InitGoogle(&argc, &argv);
@@ -22,7 +22,7 @@
break;
}
}
- std::string replay_node = FLAGS_node;
+ std::string replay_node = absl::GetFlag(FLAGS_node);
if (replay_node.empty() && all_logs_from_same_node) {
LOG(INFO) << "Guessing \"" << logger_node
<< "\" as node given that --node was not specified.";
@@ -43,14 +43,14 @@
: aos::configuration::GetNode(reader.configuration(), replay_node);
std::unique_ptr<aos::EventLoop> can_event_loop;
- CHECK(!FLAGS_output_path.empty());
+ CHECK(!absl::GetFlag(FLAGS_output_path).empty());
std::unique_ptr<frc971::can_logger::AscLogger> relogger;
factory.GetNodeEventLoopFactory(node)->OnStartup([&relogger, &can_event_loop,
&reader, node]() {
can_event_loop = reader.event_loop_factory()->MakeEventLoop("can", node);
relogger = std::make_unique<frc971::can_logger::AscLogger>(
- can_event_loop.get(), FLAGS_output_path);
+ can_event_loop.get(), absl::GetFlag(FLAGS_output_path));
});
reader.event_loop_factory()->Run();
reader.Deregister();