chromium/components/feedback/tracing_manager.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_FEEDBACK_TRACING_MANAGER_H_
#define COMPONENTS_FEEDBACK_TRACING_MANAGER_H_

#include "base/functional/callback.h"
#include "base/memory/scoped_refptr.h"
#include "base/memory/weak_ptr.h"

namespace base {
class RefCountedString;
}  // namespace base

// Callback used for getting the output of a trace.
TraceDataCallback;

// This class is used to manage performance metrics that can be attached to
// feedback reports.  This class is a pure interface.
//
// When a performance trace is desired, TracingManager::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 {};

#endif  // COMPONENTS_FEEDBACK_TRACING_MANAGER_H_