using System.Runtime.Versioning;
namespace ElectronNET.API.Entities
{
///
/// Process metrics information.
///
/// Up-to-date with Electron API 39.2
public class ProcessMetric
{
///
/// Gets or sets the process id of the process.
///
public int PId { get; set; }
///
/// Gets or sets the process type. One of: Browser | Tab | Utility | Zygote | Sandbox helper | GPU | Pepper Plugin | Pepper Plugin Broker | Unknown.
///
public string Type { get; set; }
///
/// Gets or sets the CPU usage of the process.
///
public CPUUsage Cpu { get; set; }
///
/// Gets or sets the creation time for this process, represented as the number of milliseconds since the UNIX epoch. Since the pid can be reused after a process dies, use both pid and creationTime to uniquely identify a process.
///
public double CreationTime { get; set; }
///
/// Gets or sets the memory information for the process.
///
public MemoryInfo Memory { get; set; }
///
/// Gets or sets a value indicating whether the process is sandboxed on OS level.
///
[SupportedOSPlatform("macos")]
[SupportedOSPlatform("windows")]
public bool Sandboxed { get; set; }
///
/// Gets or sets the integrity level. One of: untrusted | low | medium | high | unknown.
///
[SupportedOSPlatform("windows")]
public string IntegrityLevel { get; set; }
///
/// Gets or sets the name of the process. Examples for utility: Audio Service, Content Decryption Module Service, Network Service, Video Capture, etc.
///
public string Name { get; set; }
///
/// Gets or sets the non-localized name of the process.
///
public string ServiceName { get; set; }
}
}