Meter
Usage against a limit. Warns at 80%, critical at 95%.
beta
Try it
Resource68 of 100 %
<Meter label="Resource" value={68} max={100} unit="%" />Examples
Resource usage
CPU68 of 100 %
Memory12.4 of 16 GB
Disk480 of 500 GB
API quota8,500 of 10,000 req
Concurrent builds4 of 5 slots
Cache hit rate92 of 100 %
<script lang="ts">
import Meter from '@tcpsystems/ui/foundation/Meter';
import Stack from '@tcpsystems/ui/foundation/Stack';
import Grid from '@tcpsystems/ui/foundation/Grid';
</script>
<Stack data-gap="lg">
<Grid min="sm" gap="lg">
<Meter label="CPU" value={68} max={100} unit="%" />
<Meter label="Memory" value={12.4} max={16} unit="GB" />
<Meter label="Disk" value={480} max={500} unit="GB" />
</Grid>
<Grid min="sm" gap="lg">
<Meter label="API quota" value={8500} max={10000} unit="req" tone="warn" />
<Meter label="Concurrent builds" value={4} max={5} unit="slots" tone="danger" />
<Meter label="Cache hit rate" value={92} max={100} unit="%" />
</Grid>
</Stack>Interactive
Project storage320 of 500 GB
Build minutes1,850 of 2,000 min
Team members7 of 10 members
<script lang="ts">
import Meter from '@tcpsystems/ui/foundation/Meter';
import Button from '@tcpsystems/ui/foundation/Button';
import Cluster from '@tcpsystems/ui/foundation/Cluster';
import Stack from '@tcpsystems/ui/foundation/Stack';
const uid = $props.id();
let storageUsed = $state(320);
const storageMax = 500;
</script>
<Stack data-gap="lg">
<Meter label="Project storage" value={storageUsed} max={storageMax} unit="GB" />
<Cluster>
<Button variant="ghost" onclick={() => storageUsed = Math.min(storageMax, storageUsed + 25)} disabled={storageUsed >= storageMax}>Add 25 GB</Button>
<Button variant="ghost" onclick={() => storageUsed = Math.max(0, storageUsed - 25)} disabled={storageUsed <= 0}>Remove 25 GB</Button>
<Button variant="ghost" onclick={() => storageUsed = 0}>Clear</Button>
</Cluster>
<Stack data-gap="sm">
<Meter label="Build minutes" value={1850} max={2000} unit="min" tone="warn" />
<Meter label="Team members" value={7} max={10} unit="members" />
</Stack>
</Stack>API
import Meter from '@tcpsystems/ui/foundation/Meter';| Prop | Type | Default |
|---|---|---|
label | string | none |
value | number | none |
max | number | none |
unit? | string | '' |
tone? | 'warn' | 'danger' | none |
| Hook | Kind |
|---|---|
.tcp-meter | Root class |
data-tone | Data attribute |