the-moby-effect
Version:
Moby/Docker API client built using effect-ts
35 lines (30 loc) • 1.74 kB
text/typescript
import * as Schema from "effect/Schema";
import * as MobySchemas from "../schemas/index.js";
import * as ContainerBlkioStats from "./ContainerBlkioStats.generated.js";
import * as ContainerCPUStats from "./ContainerCPUStats.generated.js";
import * as ContainerMemoryStats from "./ContainerMemoryStats.generated.js";
import * as ContainerPidsStats from "./ContainerPidsStats.generated.js";
import * as ContainerStorageStats from "./ContainerStorageStats.generated.js";
export class ContainerStats extends Schema.Class<ContainerStats>("ContainerStats")(
{
// Common stats
read: Schema.NullOr(Schema.DateFromString),
preread: Schema.NullOr(Schema.DateFromString),
// Linux specific stats, not populated on Windows.
pids_stats: Schema.optionalWith(ContainerPidsStats.ContainerPidsStats, { nullable: true }),
blkio_stats: Schema.optionalWith(ContainerBlkioStats.ContainerBlkioStats, { nullable: true }),
// Windows specific stats, not populated on Linux.
num_procs: MobySchemas.UInt32,
storage_stats: Schema.optionalWith(ContainerStorageStats.ContainerStorageStats, { nullable: true }),
// Shared stats
cpu_stats: Schema.optionalWith(ContainerCPUStats.ContainerCPUStats, { nullable: true }),
precpu_stats: Schema.optionalWith(ContainerCPUStats.ContainerCPUStats, { nullable: true }),
memory_stats: Schema.optionalWith(ContainerMemoryStats.ContainerMemoryStats, { nullable: true }),
},
{
identifier: "ContainerStats",
title: "container.Stats",
documentation:
"https://github.com/moby/moby/blob/a21b1a2d12e2c01542cb191eb526d7bfad0641e3/api/types/container/stats.go#L150-L168",
}
) {}