// 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_