chromium/base/trace_event/tracing_agent.h

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

#ifndef BASE_TRACE_EVENT_TRACING_AGENT_H_
#define BASE_TRACE_EVENT_TRACING_AGENT_H_

#include "base/base_export.h"
#include "base/functional/callback.h"
#include "base/memory/ref_counted_memory.h"

namespace base {

class TimeTicks;

namespace trace_event {

class TraceConfig;

// A tracing agent is an entity that records its own sort of trace. Each
// tracing method that produces its own trace log should implement this
// interface. All tracing agents must only be controlled by TracingController.
// Some existing examples include TracingControllerImpl for Chrome trace events,
// DebugDaemonClient for CrOs system trace, and EtwTracingAgent for Windows
// system.
class BASE_EXPORT TracingAgent {};

}  // namespace trace_event
}  // namespace base

#endif  // BASE_TRACE_EVENT_TRACING_AGENT_H_