mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 18:17:22 +02:00
This will be needed to collect statistics from processes that do not have anything to do with LibWebView. The ProcessInfo structure must be virtual to allow callers to add application-specific information.
44 lines
693 B
C++
44 lines
693 B
C++
/*
|
|
* Copyright (c) 2024, Andrew Kaster <akaster@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/Types.h>
|
|
|
|
#if defined(AK_OS_MACH)
|
|
# include <LibCore/MachPort.h>
|
|
#endif
|
|
|
|
namespace Core::Platform {
|
|
|
|
struct ProcessInfo {
|
|
explicit ProcessInfo(pid_t pid)
|
|
: pid(pid)
|
|
{
|
|
}
|
|
|
|
virtual ~ProcessInfo() = default;
|
|
|
|
pid_t pid { 0 };
|
|
|
|
u64 memory_usage_bytes { 0 };
|
|
float cpu_percent { 0.0f };
|
|
|
|
u64 time_spent_in_process { 0 };
|
|
|
|
#if defined(AK_OS_MACH)
|
|
ProcessInfo(pid_t pid, Core::MachPort&& port)
|
|
: pid(pid)
|
|
, child_task_port(move(port))
|
|
{
|
|
}
|
|
|
|
Core::MachPort child_task_port;
|
|
#endif
|
|
};
|
|
|
|
}
|