// Copyright 2016 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_AUTO_OPEN_CLOSE_EVENT_H_ #define BASE_TRACE_EVENT_AUTO_OPEN_CLOSE_EVENT_H_ #include "base/check.h" #include "base/memory/weak_ptr.h" #include "base/threading/thread_checker.h" #include "base/time/time.h" #include "base/trace_event/trace_event.h" namespace base { namespace trace_event { // Class for tracing events that support "auto-opening" and "auto-closing". // "auto-opening" = if the trace event is started (call Begin() before // tracing is started,the trace event will be opened, with the start time // being the time that the trace event was actually started. // "auto-closing" = if the trace event is started but not ended by the time // tracing ends, then the trace event will be automatically closed at the // end of tracing. // |category| must be known at compile-time in order to be used in trace macros. // Hence, it's passed as a class templace argument. template <const char* category> class AutoOpenCloseEvent : public TraceLog::AsyncEnabledStateObserver { … }; } // namespace trace_event } // namespace base #endif // BASE_TRACE_EVENT_AUTO_OPEN_CLOSE_EVENT_H_