Files
ladybird/Userland/Libraries/LibCore/Platform/ProcessInfo.h
Timothy Flynn 5dd3b91f0e LibCore+LibWebView: Move process statistics to LibCore
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.
2024-04-22 14:46:10 -06:00

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
};
}