|  | // 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. | 
|  |  | 
|  | #include "content/browser/tracing/file_tracing_provider_impl.h" | 
|  |  | 
|  | #include "base/files/file_path.h" | 
|  | #include "base/trace_event/base_tracing.h" | 
|  |  | 
|  | namespace content { | 
|  |  | 
|  | constexpr const char kFileTracingEventCategoryGroup[] = | 
|  | TRACE_DISABLED_BY_DEFAULT("file"); | 
|  |  | 
|  | FileTracingProviderImpl::FileTracingProviderImpl() {} | 
|  | FileTracingProviderImpl::~FileTracingProviderImpl() {} | 
|  |  | 
|  | bool FileTracingProviderImpl::FileTracingCategoryIsEnabled() const { | 
|  | bool enabled; | 
|  | TRACE_EVENT_CATEGORY_GROUP_ENABLED(kFileTracingEventCategoryGroup, &enabled); | 
|  | return enabled; | 
|  | } | 
|  |  | 
|  | void FileTracingProviderImpl::FileTracingEnable(const void* id) { | 
|  | TRACE_EVENT_NESTABLE_ASYNC_BEGIN0( | 
|  | kFileTracingEventCategoryGroup, FILE_TRACING_PREFIX, id); | 
|  | } | 
|  |  | 
|  | void FileTracingProviderImpl::FileTracingDisable(const void* id) { | 
|  | TRACE_EVENT_NESTABLE_ASYNC_END0( | 
|  | kFileTracingEventCategoryGroup, FILE_TRACING_PREFIX, id); | 
|  | // TODO(crbug.com/1021571): Remove this once fixed. | 
|  | PERFETTO_INTERNAL_ADD_EMPTY_EVENT(); | 
|  | } | 
|  |  | 
|  | void FileTracingProviderImpl::FileTracingEventBegin(const char* name, | 
|  | const void* id, | 
|  | const base::FilePath& path, | 
|  | int64_t size) { | 
|  | TRACE_EVENT_NESTABLE_ASYNC_BEGIN2(kFileTracingEventCategoryGroup, name, id, | 
|  | "path", path.AsUTF8Unsafe(), "size", size); | 
|  | } | 
|  |  | 
|  | void FileTracingProviderImpl::FileTracingEventEnd(const char* name, | 
|  | const void* id) { | 
|  | TRACE_EVENT_NESTABLE_ASYNC_END0(kFileTracingEventCategoryGroup, name, id); | 
|  | } | 
|  |  | 
|  | }  // namespace content |