naiveproxy/chrome/common/profiling/profiling_client.mojom
2018-01-29 00:30:36 +08:00

21 lines
890 B
Plaintext

// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module profiling.mojom;
// This interface is implemented by "memlog clients" (profiled processes that
// can send memory allocation events to the profiling process). These functions
// are called by the profiling process to control the senders.
interface ProfilingClient {
// Start recording allocations and sending them to the profiling process via
// |sender_pipe|. There is currently no mechanism to stop recording
// allocations.
StartProfiling(handle memlog_sender_pipe);
// Flushes the memlog pipe associated with this client. A barrier packet is
// set over the memlog pipe with the given identifier. This allows the
// receiver to synchronize with the flush.
FlushMemlogPipe(uint32 barrier_id);
};