Add an EventLogger to TrustRegionPreprocessor

Change-Id: I808567a6462f9326f385e88fdf2849537595ef7b
diff --git a/internal/ceres/trust_region_preprocessor.cc b/internal/ceres/trust_region_preprocessor.cc
index b92e216..9d7a37d 100644
--- a/internal/ceres/trust_region_preprocessor.cc
+++ b/internal/ceres/trust_region_preprocessor.cc
@@ -40,6 +40,7 @@
 #include "ceres/callbacks.h"
 #include "ceres/context_impl.h"
 #include "ceres/evaluator.h"
+#include "ceres/event_logger.h"
 #include "ceres/linear_solver.h"
 #include "ceres/minimizer.h"
 #include "ceres/parameter_block.h"
@@ -377,19 +378,22 @@
 bool TrustRegionPreprocessor::Preprocess(const Solver::Options& options,
                                          ProblemImpl* problem,
                                          PreprocessedProblem* pp) {
+  EventLogger event_logger("TrustRegionPreprocessor::Preprocess");
   CHECK(pp != nullptr);
   pp->options = options;
   ChangeNumThreadsIfNeeded(&pp->options);
 
   pp->problem = problem;
   Program* program = problem->mutable_program();
-  if (!IsProgramValid(*program, &pp->error)) {
+  bool status = IsProgramValid(*program, &pp->error);
+  event_logger.AddEvent("IsProgramValid");
+  if (!status) {
     return false;
   }
 
   pp->reduced_program = program->CreateReducedProgram(
       &pp->removed_parameter_blocks, &pp->fixed_cost, &pp->error);
-
+  event_logger.AddEvent("CreateReducedProgram");
   if (pp->reduced_program.get() == nullptr) {
     return false;
   }
@@ -400,12 +404,27 @@
     return true;
   }
 
-  if (!SetupLinearSolver(pp) || !SetupEvaluator(pp) ||
-      !SetupInnerIterationMinimizer(pp)) {
+  status = SetupLinearSolver(pp);
+  event_logger.AddEvent("SetupLinearSolver");
+  if (!status) {
     return false;
   }
 
-  return SetupMinimizerOptions(pp);
+  status = SetupEvaluator(pp);
+  event_logger.AddEvent("SetupEvaluator");
+  if (!status) {
+    return false;
+  }
+
+  status = SetupInnerIterationMinimizer(pp);
+  event_logger.AddEvent("SetupInnerIterations");
+  if (!status) {
+    return false;
+  }
+
+  status = SetupMinimizerOptions(pp);
+  event_logger.AddEvent("SetupMinimizerOptions");
+  return status;
 }
 
 }  // namespace ceres::internal