`shell` is the current shell from which you executed your `time` statement. `children` is a summary of all running processes started from (and still owned by) that shell.

`user` and `system` show the amount of CPU seconds the above processes spent in user mode and kernel mode, respectively. See https://blog.codinghorror.com/understanding-user-and-kernel-mode/ for more info.

`cpu` shows the combined values of `user` and `system`, as a percentage of total CPU time. `total` shows how long ago the shell or its oldest child process was started (here in minutes:seconds.fraction).

---

If you call `time` with arguments (which is how it's more often used), then it will execute those as a command and report time statistics only for that command:
```zsh
% time sleep 0
sleep 0  0.00s user 0.00s system 43% cpu 0.007 total
```
(Note that `total` here is the total number of seconds it took for the command to complete.)