mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
std.process.Child: enable rusage collection for freebsd, illumos, serenity
This commit is contained in:
parent
d04b0f1049
commit
766065c9e0
1 changed files with 25 additions and 3 deletions
|
|
@ -122,7 +122,7 @@ pub const ResourceUsageStatistics = struct {
|
||||||
/// if available.
|
/// if available.
|
||||||
pub inline fn getMaxRss(rus: ResourceUsageStatistics) ?usize {
|
pub inline fn getMaxRss(rus: ResourceUsageStatistics) ?usize {
|
||||||
switch (native_os) {
|
switch (native_os) {
|
||||||
.linux => {
|
.freebsd, .illumos, .linux, .serenity => {
|
||||||
if (rus.rusage) |ru| {
|
if (rus.rusage) |ru| {
|
||||||
return @as(usize, @intCast(ru.maxrss)) * 1024;
|
return @as(usize, @intCast(ru.maxrss)) * 1024;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -149,7 +149,18 @@ pub const ResourceUsageStatistics = struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
const rusage_init = switch (native_os) {
|
const rusage_init = switch (native_os) {
|
||||||
.linux, .driverkit, .ios, .maccatalyst, .macos, .tvos, .visionos, .watchos => @as(?posix.rusage, null),
|
.freebsd,
|
||||||
|
.illumos,
|
||||||
|
.linux,
|
||||||
|
.serenity,
|
||||||
|
.driverkit,
|
||||||
|
.ios,
|
||||||
|
.maccatalyst,
|
||||||
|
.macos,
|
||||||
|
.tvos,
|
||||||
|
.visionos,
|
||||||
|
.watchos,
|
||||||
|
=> @as(?posix.rusage, null),
|
||||||
.windows => @as(?windows.VM_COUNTERS, null),
|
.windows => @as(?windows.VM_COUNTERS, null),
|
||||||
else => {},
|
else => {},
|
||||||
};
|
};
|
||||||
|
|
@ -486,7 +497,18 @@ fn waitUnwrappedPosix(self: *ChildProcess) void {
|
||||||
const res: posix.WaitPidResult = res: {
|
const res: posix.WaitPidResult = res: {
|
||||||
if (self.request_resource_usage_statistics) {
|
if (self.request_resource_usage_statistics) {
|
||||||
switch (native_os) {
|
switch (native_os) {
|
||||||
.linux, .driverkit, .ios, .maccatalyst, .macos, .tvos, .visionos, .watchos => {
|
.freebsd,
|
||||||
|
.illumos,
|
||||||
|
.linux,
|
||||||
|
.serenity,
|
||||||
|
.driverkit,
|
||||||
|
.ios,
|
||||||
|
.maccatalyst,
|
||||||
|
.macos,
|
||||||
|
.tvos,
|
||||||
|
.visionos,
|
||||||
|
.watchos,
|
||||||
|
=> {
|
||||||
var ru: posix.rusage = undefined;
|
var ru: posix.rusage = undefined;
|
||||||
const res = posix.wait4(self.id, 0, &ru);
|
const res = posix.wait4(self.id, 0, &ru);
|
||||||
self.resource_usage_statistics.rusage = ru;
|
self.resource_usage_statistics.rusage = ru;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue