Delete profiler code
Currently unused, we can always revert if we want it back in the future.
RELNOTES: None
PiperOrigin-RevId: 301459414
diff --git a/src/main/cpp/util/BUILD b/src/main/cpp/util/BUILD
index faafd9b..5a9c53c 100644
--- a/src/main/cpp/util/BUILD
+++ b/src/main/cpp/util/BUILD
@@ -153,26 +153,6 @@
)
cc_library(
- name = "profiler",
- srcs = [
- "profiler.cc",
- ] + select({
- "//src/conditions:windows": ["profiler_windows.cc"],
- "//conditions:default": ["profiler_posix.cc"],
- }),
- hdrs = ["profiler.h"],
- visibility = [
- "//src/main/cpp:__pkg__",
- "//src/test/cpp/util:__pkg__",
- ],
- deps = [
- ":blaze_exit_code",
- ":errors",
- ":logging",
- ],
-)
-
-cc_library(
name = "blaze_exit_code",
hdrs = ["exit_code.h"],
visibility = ["//visibility:public"],
diff --git a/src/main/cpp/util/profiler.cc b/src/main/cpp/util/profiler.cc
deleted file mode 100644
index 76c99d3..0000000
--- a/src/main/cpp/util/profiler.cc
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright 2018 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include "src/main/cpp/util/profiler.h"
-
-#include <inttypes.h>
-#include <stdio.h>
-
-namespace blaze_util {
-namespace profiler {
-
-Task::~Task() {
- Duration duration = GetDuration();
- fprintf(stderr, "Task(%s): %" PRIu64 " calls (%" PRId64 " microseconds)\n",
- name_, GetCalls(), duration.micros_);
-}
-
-void StopWatch::PrintAndReset(const char* name) {
- Duration elapsed = ElapsedTime();
- fprintf(stderr, "StopWatch(%s): %" PRId64 " microseconds elapsed\n", name,
- elapsed.micros_);
- Reset();
-}
-
-} // namespace profiler
-} // namespace blaze_util
diff --git a/src/main/cpp/util/profiler.h b/src/main/cpp/util/profiler.h
deleted file mode 100644
index 80098ee..0000000
--- a/src/main/cpp/util/profiler.h
+++ /dev/null
@@ -1,138 +0,0 @@
-// Copyright 2018 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#ifndef BAZEL_SRC_MAIN_CPP_UTIL_PROFILER_H_
-#define BAZEL_SRC_MAIN_CPP_UTIL_PROFILER_H_
-
-#include <stdint.h> // int64_t
-#include <stdio.h> // printf
-
-namespace blaze_util {
-namespace profiler {
-
-// A time duration, measured in some implementation-dependent units.
-//
-// Using a struct to wrap int64_t yields a unique type that we can't
-// accidentally use as a type-synonym of other int64_t types.
-struct Ticks {
- int64_t value_;
- static Ticks Now();
-};
-
-// A time duration, measured in microseconds.
-//
-// Using a struct to wrap int64_t yields a unique type that we can't
-// accidentally use as a type-synonym of other int64_t types.
-struct Duration {
- int64_t micros_;
- static Duration FromTicks(const Ticks ticks);
-};
-
-// Accumulates statistics about a function or some C++ scope.
-//
-// Usage: see ScopedTask.
-//
-// Records the number of times the scope was entered (the function called) and
-// the total time spent in there. Prints the statistics in the destructor.
-class Task {
- const char* name_;
- uint64_t calls_;
- Ticks total_;
-
- public:
- Task(const char* name) : name_(name), calls_(0), total_({0}) {}
- ~Task();
- void AddCall() { calls_++; }
- void AddTicks(const Ticks t) { total_.value_ += t.value_; }
- uint64_t GetCalls() const { return calls_; }
- Duration GetDuration() const { return Duration::FromTicks(total_); }
-};
-
-// Measures elapsed time.
-//
-// Example:
-// void foo() {
-// StopWatch s;
-// ...
-// s.PrintAndReset("marker 1"); // prints elapsed time since creation
-// ...
-// s.PrintAndReset("marker 2"); // prints elapsed time since "marker 1"
-// ...
-// s.Reset();
-// ...
-// Ticks t1 = s.Elapsed(); // time since Reset
-// ...
-// Ticks t2 = s.Elapsed(); // time since Reset, not since t1
-// }
-//
-class StopWatch {
- Ticks start_;
-
- public:
- // Constructor -- it also resets this StopWatch.
- StopWatch() { start_ = Ticks::Now(); }
-
- // Prints elapsed time since last reset, then resets.
- //
- // Args:
- // name: a descriptive name, will be printed in the output
- void PrintAndReset(const char* name);
-
- // Returns the elapsed time since the last reset as `Ticks`.
- Ticks Elapsed() const {
- Ticks now = Ticks::Now();
- return {now.value_ - start_.value_};
- }
-
- // Returns the elapsed time since the last reset as `Duration`.
- Duration ElapsedTime() const { return Duration::FromTicks(Elapsed()); }
-
- // Resets this StopWatch to the current time.
- void Reset() { start_ = Ticks::Now(); }
-};
-
-// Measures the execution duration of a given C++ scope.
-//
-// The constructor records one call of the scope in a `Task` object, and the
-// destructor records the time spent in the scope in that `Task` object.
-//
-// Usage:
-// create one Task that accumulates the statistics for a given function
-// or scope, and create one ScopedTask in the beginning of the scope you want
-// to measure. Every time the scope is entered (the function is called), a
-// ScopedTask is created, then destructed when the execution leaves the scope.
-// The destructor then records the statistics in the Task.
-//
-// Example:
-// Task slow_function_stats("slow function"); // d'tor prints stats
-//
-// void slow_function() {
-// ScopedTask prof(&slow_function_stats);
-// ...
-// }
-//
-class ScopedTask {
- public:
- ScopedTask(Task* s) : stat_(s) { stat_->AddCall(); }
- ~ScopedTask() { stat_->AddTicks(prof_.Elapsed()); }
-
- private:
- Task* stat_;
- StopWatch prof_;
-};
-
-} // namespace profiler
-} // namespace blaze_util
-
-#endif // BAZEL_SRC_MAIN_CPP_UTIL_PROFILER_H_
diff --git a/src/main/cpp/util/profiler_posix.cc b/src/main/cpp/util/profiler_posix.cc
deleted file mode 100644
index c86d509..0000000
--- a/src/main/cpp/util/profiler_posix.cc
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2018 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include "src/main/cpp/util/profiler.h"
-
-#include <time.h>
-
-#include <string>
-
-#include "src/main/cpp/util/errors.h"
-#include "src/main/cpp/util/exit_code.h"
-#include "src/main/cpp/util/logging.h"
-
-namespace blaze_util {
-namespace profiler {
-
-Ticks Ticks::Now() {
- struct timespec ts = {};
- if (clock_gettime(CLOCK_MONOTONIC, &ts) == -1) {
- std::string error = GetLastErrorString();
- BAZEL_DIE(blaze_exit_code::LOCAL_ENVIRONMENTAL_ERROR)
- << "clock_gettime failed: " << error;
- }
- return {ts.tv_sec * 1000LL * 1000LL * 1000LL + ts.tv_nsec};
-}
-
-Duration Duration::FromTicks(const Ticks ticks) {
- return {ticks.value_ / 1000LL};
-}
-
-} // namespace profiler
-} // namespace blaze_util
diff --git a/src/main/cpp/util/profiler_windows.cc b/src/main/cpp/util/profiler_windows.cc
deleted file mode 100644
index d4d702f..0000000
--- a/src/main/cpp/util/profiler_windows.cc
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2018 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN
-#endif
-
-#include "src/main/cpp/util/profiler.h"
-
-#include <windows.h>
-
-#include <string>
-
-#include "src/main/cpp/util/errors.h"
-#include "src/main/cpp/util/exit_code.h"
-#include "src/main/cpp/util/logging.h"
-
-namespace blaze_util {
-namespace profiler {
-
-Ticks Ticks::Now() {
- LARGE_INTEGER counter;
- if (!QueryPerformanceCounter(&counter)) {
- std::string error = GetLastErrorString();
- BAZEL_DIE(blaze_exit_code::LOCAL_ENVIRONMENTAL_ERROR)
- << "QueryPerformanceCounter failed: " << error;
- }
- return {counter.QuadPart};
-}
-
-Duration Duration::FromTicks(const Ticks t) {
- LARGE_INTEGER freq;
- if (!QueryPerformanceFrequency(&freq)) {
- std::string error = GetLastErrorString();
- BAZEL_DIE(blaze_exit_code::LOCAL_ENVIRONMENTAL_ERROR)
- << "QueryPerformanceFrequency failed: " << error;
- }
- return {(t.value_ * 1000LL * 1000LL) / freq.QuadPart};
-}
-
-} // namespace profiler
-} // namespace blaze_util
diff --git a/src/test/cpp/util/BUILD b/src/test/cpp/util/BUILD
index 03341ad..68946db 100644
--- a/src/test/cpp/util/BUILD
+++ b/src/test/cpp/util/BUILD
@@ -137,15 +137,6 @@
}),
)
-cc_test(
- name = "profiler_test",
- srcs = ["profiler_test.cc"],
- deps = [
- "//src/main/cpp/util:profiler",
- "@com_google_googletest//:gtest_main",
- ],
-)
-
cc_library(
name = "test_util",
testonly = 1,
diff --git a/src/test/cpp/util/profiler_test.cc b/src/test/cpp/util/profiler_test.cc
deleted file mode 100644
index 3af3752..0000000
--- a/src/test/cpp/util/profiler_test.cc
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2018 The Bazel Authors. All rights reserved.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include "src/main/cpp/util/profiler.h"
-
-#include <thread> // NOLINT
-
-#include "googletest/include/gtest/gtest.h"
-
-namespace blaze_util {
-namespace profiler {
-
-static void SleepMeasurably() {
- // The profiler should have at least 1 ms precision.
- std::this_thread::sleep_for(std::chrono::milliseconds(1));
-}
-
-TEST(ProfilerTest, TestStopWatchMeasuresElapsedTime) {
- StopWatch sw1, sw2;
-
- SleepMeasurably();
- Duration t1 = Duration::FromTicks(sw1.Elapsed());
- SleepMeasurably();
- Duration t2 = Duration::FromTicks(sw1.Elapsed());
-
- // Assert that two sleeps show a longer elapsed time than one sleep.
- ASSERT_GT(t2.micros_, t1.micros_);
-
- sw2.Reset();
- SleepMeasurably();
- Duration t3_not_reset = Duration::FromTicks(sw1.Elapsed());
- Duration t3_reset = Duration::FromTicks(sw2.Elapsed());
-
- // Assert that sleeping the same amounts, a Reset() call results in less
- // elapsed time in one StopWatch than in the other. (This way we don't rely on
- // sleep completing in a timely manner.)
- ASSERT_GT(t3_not_reset.micros_, t3_reset.micros_);
-}
-
-TEST(ProfilerTest, TestScopedTaskMeasuresElapsedTime) {
- Task scope1("task 2"), scope2("task 2"), scope_both("tasks 1 and 2");
- {
- ScopedTask p1(&scope1), p2(&scope_both);
- SleepMeasurably();
- }
- {
- ScopedTask p1(&scope2), p2(&scope_both);
- SleepMeasurably();
- SleepMeasurably();
- }
- ASSERT_GT(scope_both.GetDuration().micros_, scope1.GetDuration().micros_);
- ASSERT_GT(scope_both.GetDuration().micros_, scope2.GetDuration().micros_);
- ASSERT_EQ(scope1.GetCalls(), 1u);
- ASSERT_EQ(scope2.GetCalls(), 1u);
- ASSERT_EQ(scope_both.GetCalls(), 2u);
-}
-
-} // namespace profiler
-} // namespace blaze_util