Collect data on CPU usage per core at regular time intervals?

There is a tool that can collect this information called glances, which is a command line based monitoring tool that can track all sorts of parameters.

It can be installed via homebrew:

brew install glances

You may need to tinker with the options to get something you're happy with, or parse the data downstream with a different tool, but it can output timestamped, percpu usage (in 60 second intervals) in the following way:

glances --stdout now,percpu --time 60

The results aren't quite what you outlined, but the output can be processed with other tools to get them into a format that you can use.