#include "third_party/blink/renderer/core/inspector/inspector_memory_agent.h"
#include <cstdio>
#include "base/debug/stack_trace.h"
#include "base/profiler/module_cache.h"
#include "base/sampling_heap_profiler/poisson_allocation_sampler.h"
#include "base/sampling_heap_profiler/sampling_heap_profiler.h"
#include "build/build_config.h"
#include "third_party/blink/renderer/core/frame/local_frame.h"
#include "third_party/blink/renderer/core/frame/local_frame_client.h"
#include "third_party/blink/renderer/core/inspector/inspected_frames.h"
#include "third_party/blink/renderer/core/page/page.h"
#include "third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h"
#include "third_party/blink/renderer/platform/instrumentation/instance_counters.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
constexpr int kDefaultNativeMemorySamplingInterval = …;
InspectorMemoryAgent::InspectorMemoryAgent(InspectedFrames* inspected_frames)
: … { … }
InspectorMemoryAgent::~InspectorMemoryAgent() = default;
protocol::Response InspectorMemoryAgent::getDOMCounters(
int* documents,
int* nodes,
int* js_event_listeners) { … }
protocol::Response InspectorMemoryAgent::forciblyPurgeJavaScriptMemory() { … }
void InspectorMemoryAgent::Trace(Visitor* visitor) const { … }
void InspectorMemoryAgent::Restore() { … }
protocol::Response InspectorMemoryAgent::startSampling(
protocol::Maybe<int> in_sampling_interval,
protocol::Maybe<bool> in_suppressRandomness) { … }
protocol::Response InspectorMemoryAgent::stopSampling() { … }
protocol::Response InspectorMemoryAgent::getAllTimeSamplingProfile(
std::unique_ptr<protocol::Memory::SamplingProfile>* out_profile) { … }
protocol::Response InspectorMemoryAgent::getSamplingProfile(
std::unique_ptr<protocol::Memory::SamplingProfile>* out_profile) { … }
std::unique_ptr<protocol::Memory::SamplingProfile>
InspectorMemoryAgent::GetSamplingProfileById(uint32_t id) { … }
Vector<String> InspectorMemoryAgent::Symbolize(
const WebVector<const void*>& addresses) { … }
}