diff --git a/docs/source/gradient_solver.rst b/docs/source/gradient_solver.rst
index ba7cbae..40d22ff 100644
--- a/docs/source/gradient_solver.rst
+++ b/docs/source/gradient_solver.rst
@@ -447,6 +447,14 @@
 
    :class:`IterationSummary` for each minimizer iteration in order.
 
+.. member:: int num_cost_evaluations
+
+   Number of times the cost (and not the gradient) was evaluated.
+
+.. member:: int num_gradient_evaluations
+
+   Number of times the gradient (and the cost) were evaluated.
+
 .. member:: double GradientProblemSolver::Summary::total_time_in_seconds
 
    Time (in seconds) spent in the solver.
diff --git a/include/ceres/gradient_problem_solver.h b/include/ceres/gradient_problem_solver.h
index 546dc34..31fed84 100644
--- a/include/ceres/gradient_problem_solver.h
+++ b/include/ceres/gradient_problem_solver.h
@@ -301,6 +301,12 @@
     // IterationSummary for each minimizer iteration in order.
     std::vector<IterationSummary> iterations;
 
+    // Number of times the cost (and not the gradient) was evaluated.
+    int num_cost_evaluations;
+
+    // Number of times the gradient (and the cost) were evaluated.
+    int num_gradient_evaluations;
+
     // Sum total of all time spent inside Ceres when Solve is called.
     double total_time_in_seconds;
 
diff --git a/internal/ceres/gradient_problem_evaluator.h b/internal/ceres/gradient_problem_evaluator.h
index 2c56254..ca49c24 100644
--- a/internal/ceres/gradient_problem_evaluator.h
+++ b/internal/ceres/gradient_problem_evaluator.h
@@ -60,6 +60,8 @@
     ScopedExecutionTimer call_type_timer(
         gradient == NULL ? "Evaluator::Cost" : "Evaluator::Gradient",
         &execution_summary_);
+    execution_summary_.IncrementCall(gradient == NULL ? "Evaluator::Cost"
+                                                      : "Evaluator::Gradient");
     return problem_.Evaluate(state, cost, gradient);
   }
 
diff --git a/internal/ceres/gradient_problem_solver.cc b/internal/ceres/gradient_problem_solver.cc
index 018401d..478818b 100644
--- a/internal/ceres/gradient_problem_solver.cc
+++ b/internal/ceres/gradient_problem_solver.cc
@@ -166,10 +166,15 @@
   const std::map<string, double>& evaluator_time_statistics =
        minimizer_options.evaluator->TimeStatistics();
   summary->cost_evaluation_time_in_seconds =
-      FindWithDefault(evaluator_time_statistics, "Evaluator::Residual", 0.0);
+      FindWithDefault(evaluator_time_statistics, "Evaluator::Cost", 0.0);
   summary->gradient_evaluation_time_in_seconds =
-      FindWithDefault(evaluator_time_statistics, "Evaluator::Jacobian", 0.0);
-
+      FindWithDefault(evaluator_time_statistics, "Evaluator::Gradient", 0.0);
+  const std::map<string, int>& evaluator_call_statistics =
+       minimizer_options.evaluator->CallStatistics();
+  summary->num_cost_evaluations =
+      FindWithDefault(evaluator_call_statistics, "Evaluator::Cost", 0);
+  summary->num_gradient_evaluations =
+      FindWithDefault(evaluator_call_statistics, "Evaluator::Gradient", 0);
   summary->total_time_in_seconds = WallTimeInSeconds() - start_time;
 }
 
@@ -257,14 +262,14 @@
                 static_cast<int>(iterations.size()));
 
   StringAppendF(&report, "\nTime (in seconds):\n");
-
-  StringAppendF(&report, "\n  Cost evaluation     %23.4f\n",
-                cost_evaluation_time_in_seconds);
-  StringAppendF(&report, "  Gradient evaluation %23.4f\n",
-                gradient_evaluation_time_in_seconds);
+  StringAppendF(&report, "\n  Cost evaluation     %23.4f(%d)\n",
+                cost_evaluation_time_in_seconds,
+                num_cost_evaluations);
+  StringAppendF(&report, "  Gradient evaluation %23.4f(%d)\n",
+                gradient_evaluation_time_in_seconds,
+                num_gradient_evaluations);
   StringAppendF(&report, "  Polynomial minimization   %17.4f\n",
                 line_search_polynomial_minimization_time_in_seconds);
-
   StringAppendF(&report, "Total               %25.4f\n\n",
                 total_time_in_seconds);
 
