Index: base/debug/trace_event_system_stats_monitor.cc |
diff --git a/base/debug/trace_event_system_stats_monitor.cc b/base/debug/trace_event_system_stats_monitor.cc |
deleted file mode 100644 |
index 9cbefd8d6cc14af406ce08d8ed33d3b20ac904f9..0000000000000000000000000000000000000000 |
--- a/base/debug/trace_event_system_stats_monitor.cc |
+++ /dev/null |
@@ -1,133 +0,0 @@ |
-// Copyright 2013 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "base/debug/trace_event_system_stats_monitor.h" |
- |
-#include "base/debug/leak_annotations.h" |
-#include "base/debug/trace_event.h" |
-#include "base/json/json_writer.h" |
-#include "base/lazy_instance.h" |
-#include "base/logging.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/strings/string_number_conversions.h" |
-#include "base/strings/string_util.h" |
-#include "base/thread_task_runner_handle.h" |
-#include "base/threading/thread_local_storage.h" |
- |
-namespace base { |
-namespace debug { |
- |
-namespace { |
- |
-///////////////////////////////////////////////////////////////////////////// |
-// Holds profiled system stats until the tracing system needs to serialize it. |
-class SystemStatsHolder : public base::debug::ConvertableToTraceFormat { |
- public: |
- SystemStatsHolder() { } |
- |
- // Fills system_metrics_ with profiled system memory and disk stats. |
- // Uses the previous stats to compute rates if this is not the first profile. |
- void GetSystemProfilingStats(); |
- |
- // base::debug::ConvertableToTraceFormat overrides: |
- void AppendAsTraceFormat(std::string* out) const override { |
- AppendSystemProfileAsTraceFormat(system_stats_, out); |
- } |
- |
- private: |
- ~SystemStatsHolder() override {} |
- |
- SystemMetrics system_stats_; |
- |
- DISALLOW_COPY_AND_ASSIGN(SystemStatsHolder); |
-}; |
- |
-void SystemStatsHolder::GetSystemProfilingStats() { |
- system_stats_ = SystemMetrics::Sample(); |
-} |
- |
-} // namespace |
- |
-////////////////////////////////////////////////////////////////////////////// |
- |
-TraceEventSystemStatsMonitor::TraceEventSystemStatsMonitor( |
- scoped_refptr<SingleThreadTaskRunner> task_runner) |
- : task_runner_(task_runner), |
- weak_factory_(this) { |
- // Force the "system_stats" category to show up in the trace viewer. |
- TraceLog::GetCategoryGroupEnabled(TRACE_DISABLED_BY_DEFAULT("system_stats")); |
- |
- // Allow this to be instantiated on unsupported platforms, but don't run. |
- TraceLog::GetInstance()->AddEnabledStateObserver(this); |
-} |
- |
-TraceEventSystemStatsMonitor::~TraceEventSystemStatsMonitor() { |
- if (dump_timer_.IsRunning()) |
- StopProfiling(); |
- TraceLog::GetInstance()->RemoveEnabledStateObserver(this); |
-} |
- |
-void TraceEventSystemStatsMonitor::OnTraceLogEnabled() { |
- // Check to see if system tracing is enabled. |
- bool enabled; |
- |
- TRACE_EVENT_CATEGORY_GROUP_ENABLED(TRACE_DISABLED_BY_DEFAULT( |
- "system_stats"), &enabled); |
- if (!enabled) |
- return; |
- task_runner_->PostTask( |
- FROM_HERE, |
- base::Bind(&TraceEventSystemStatsMonitor::StartProfiling, |
- weak_factory_.GetWeakPtr())); |
-} |
- |
-void TraceEventSystemStatsMonitor::OnTraceLogDisabled() { |
- task_runner_->PostTask( |
- FROM_HERE, |
- base::Bind(&TraceEventSystemStatsMonitor::StopProfiling, |
- weak_factory_.GetWeakPtr())); |
-} |
- |
-void TraceEventSystemStatsMonitor::StartProfiling() { |
- // Watch for the tracing framework sending enabling more than once. |
- if (dump_timer_.IsRunning()) |
- return; |
- |
- dump_timer_.Start(FROM_HERE, |
- TimeDelta::FromMilliseconds(TraceEventSystemStatsMonitor:: |
- kSamplingIntervalMilliseconds), |
- base::Bind(&TraceEventSystemStatsMonitor:: |
- DumpSystemStats, |
- weak_factory_.GetWeakPtr())); |
-} |
- |
-// If system tracing is enabled, dumps a profile to the tracing system. |
-void TraceEventSystemStatsMonitor::DumpSystemStats() { |
- scoped_refptr<SystemStatsHolder> dump_holder = new SystemStatsHolder(); |
- dump_holder->GetSystemProfilingStats(); |
- |
- TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID( |
- TRACE_DISABLED_BY_DEFAULT("system_stats"), |
- "base::TraceEventSystemStatsMonitor::SystemStats", |
- this, |
- scoped_refptr<ConvertableToTraceFormat>(dump_holder)); |
-} |
- |
-void TraceEventSystemStatsMonitor::StopProfiling() { |
- dump_timer_.Stop(); |
-} |
- |
-bool TraceEventSystemStatsMonitor::IsTimerRunningForTest() const { |
- return dump_timer_.IsRunning(); |
-} |
- |
-void AppendSystemProfileAsTraceFormat(const SystemMetrics& system_metrics, |
- std::string* output) { |
- std::string tmp; |
- base::JSONWriter::Write(system_metrics.ToValue().get(), &tmp); |
- *output += tmp; |
-} |
- |
-} // namespace debug |
-} // namespace base |