Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(641)

Unified Diff: trunk/src/chrome/browser/feedback/tracing_manager.h

Issue 19471017: Revert 213299 "Add the tracing manager" (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: trunk/src/chrome/browser/feedback/tracing_manager.h
===================================================================
--- trunk/src/chrome/browser/feedback/tracing_manager.h (revision 213306)
+++ trunk/src/chrome/browser/feedback/tracing_manager.h (working copy)
@@ -1,80 +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.
-
-#ifndef CHROME_BROWSER_FEEDBACK_TRACING_MANAGER_H_
-#define CHROME_BROWSER_FEEDBACK_TRACING_MANAGER_H_
-
-#include <map>
-#include <string>
-
-#include "base/basictypes.h"
-#include "base/callback.h"
-#include "base/memory/scoped_ptr.h"
-#include "base/memory/weak_ptr.h"
-#include "content/public/browser/trace_subscriber.h"
-
-// Callback used for getting the output of a trace.
-typedef base::Callback<void(scoped_refptr<base::RefCountedString> trace_data)>
- TraceDataCallback;
-
-// This class is used to manage performance meterics that can be attached to
-// feedback reports. This class is a Singleton that is owned by the preference
-// system. It should only be created when it is enabled, and should only be
-// accessed elsewhere via Get().
-//
-// When a performance trace is desired, TracingManager::Get()->RequestTrace()
-// should be invoked. The TracingManager will then start preparing a zipped
-// version of the performance data. That data can then be requested via
-// GetTraceData(). When the data is no longer needed, it should be discarded
-// via DiscardTraceData().
-class TracingManager : public content::TraceSubscriber {
- public:
- virtual ~TracingManager();
-
- // Create a TracingManager. Can only be called when none exists.
- static scoped_ptr<TracingManager> Create();
-
- // Get the current TracingManager. Returns NULL if one doesn't exist.
- static TracingManager* Get();
-
- // Request a trace ending at the current time. If a trace is already being
- // collected, the id for that trace is returned.
- int RequestTrace();
-
- // Get the trace data for |id|. On success, true is returned, and the data is
- // returned via |callback|. Returns false on failure.
- bool GetTraceData(int id, const TraceDataCallback& callback);
-
- // Discard the data for trace |id|.
- void DiscardTraceData(int id);
-
- private:
- void StartTracing();
-
- // content::TraceSubscriber overrides
- virtual void OnEndTracingComplete() OVERRIDE;
- virtual void OnTraceDataCollected(
- const scoped_refptr<base::RefCountedString>& trace_fragment) OVERRIDE;
-
- TracingManager();
-
- // Data being collected from the current trace.
- std::string data_;
-
- // ID of the trace that is being collected.
- int current_trace_id_;
-
- // Mapping of trace ID to trace data.
- std::map<int, scoped_refptr<base::RefCountedString> > trace_data_;
-
- // Callback for the current trace request.
- TraceDataCallback trace_callback_;
-
- base::WeakPtrFactory<TracingManager> weak_ptr_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(TracingManager);
-};
-
-#endif // CHROME_BROWSER_FEEDBACK_TRACING_MANAGER_H_
-
« no previous file with comments | « trunk/src/chrome/browser/feedback/feedback_util.cc ('k') | trunk/src/chrome/browser/feedback/tracing_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698