function getOrCreateInstance() {
  if (_configInstance === null) {
    try {
      _configInstance = initialize()
    } catch (err) {
      console.error('New Relic for Node.js is disabled due to an error:')
      console.error(err.stack)

      // Config construction has potential to throw due to invalid settings.
      // This allows the agent to return a stub api without crashing the process.
      _configInstance = Object.assign(defaultConfig(), {
        agent_enabled: false,
        logging: {
          enabled: true,
          filepath: 'stdout'
        }
      })

      _configInstance.setLogger = Config.prototype.setLogger
    }
  }
  return _configInstance
}
This function honors the singleton nature of this module while allowing
consumers to just request an instance without having to worry if one was
already created.

@returns {object} initialized configuration object