observe = (
  type,
  callback,
  opts,
) => {
  try {
    if (PerformanceObserver.supportedEntryTypes.includes(type)) {
      const po = new PerformanceObserver(list => {
        callback(list.getEntries() );
      });
      po.observe(
        Object.assign(
          {
            type,
            buffered: true,
          },
          opts || {},
        ) ,
      );
      return po;
    }
  } catch (e) {
    // Do nothing.
  }
  return;
}
Takes a performance entry type and a callback function, and creates a
`PerformanceObserver` instance that will observe the specified entry type
with buffering enabled and call the callback _for each entry_.

This function also feature-detects entry support and wraps the logic in a
try/catch to avoid errors in unsupporting browsers.