mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-11 12:25:53 +00:00
bdcac7a378
This handles the case where the profiler state changes in the parent process between the initial launch of the child process and the time at which the PProfiler connection is established. MozReview-Commit-ID: 5SQme5M7P30 --HG-- extra : rebase_source : 301d5541ff5c05a9540e45f1b57c13fb37d5d6fa
31 lines
968 B
Plaintext
31 lines
968 B
Plaintext
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
include ProfilerTypes;
|
|
|
|
namespace mozilla {
|
|
|
|
// PProfiler is a top-level protocol. It is used to let the main process
|
|
// control the Gecko Profiler in other processes, and request profiles from
|
|
// those processes.
|
|
// It is a top-level protocol so that its child endpoint can be on a
|
|
// background thread, so that profiles can be gathered even if the main thread
|
|
// is unresponsive.
|
|
async protocol PProfiler
|
|
{
|
|
child:
|
|
async Start(ProfilerInitParams params);
|
|
async EnsureStarted(ProfilerInitParams params);
|
|
async Stop();
|
|
async Pause();
|
|
async Resume();
|
|
|
|
async GatherProfile() returns (nsCString profile);
|
|
};
|
|
|
|
} // namespace mozilla
|
|
|