chromium/components/services/heap_profiling/public/cpp/heap_profiling_trace_source.h

// Copyright 2021 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_SERVICES_HEAP_PROFILING_PUBLIC_CPP_HEAP_PROFILING_TRACE_SOURCE_H_
#define COMPONENTS_SERVICES_HEAP_PROFILING_PUBLIC_CPP_HEAP_PROFILING_TRACE_SOURCE_H_

#include <vector>

#include "base/no_destructor.h"
#include "base/sampling_heap_profiler/sampling_heap_profiler.h"
#include "base/synchronization/lock.h"
#include "base/thread_annotations.h"
#include "services/tracing/public/cpp/perfetto/perfetto_traced_process.h"
#include "services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.h"

namespace perfetto {
class TraceWriter;
}

namespace heap_profiling {

// Perfetto tracing data source for heap profiler. This writes the heap profiles
// to trace in proto format.
class HeapProfilingTraceSource
    : public tracing::PerfettoTracedProcess::DataSourceBase {};

}  // namespace heap_profiling

#endif  // COMPONENTS_SERVICES_HEAP_PROFILING_PUBLIC_CPP_HEAP_PROFILING_TRACE_SOURCE_H_