https://ebpf.io/: Revolutionary sandboxed kernel profiling technology that makes it easier to build various profiling utilities. Tons of options here in Python https://github.com/iovisor/bcc
Dtrace: Available on Solaris (includes Mac but not Ubuntu) with notable highlights prstat and mpstat. prstat is not available on Ubuntu but can be replicated with htop and ps
collectl: Full system level profiling including CPU, disk, memory and network
Flame Graphs: flame graphs vs flame charts, off cpu profiling, icicle charts and more
Sampling vs Tracing: sampling based profilers are easier to use since they don't require any code change while instrumentation based profilers require code changes but are generally more informative