config()

in packages/rum/src/apm-base.js [233:267]


  config(config) {
    const [configService, loggingService] = this.serviceFactory.getService([
      CONFIG_SERVICE,
      LOGGING_SERVICE
    ])
    const { missing, invalid, unknown } = configService.validate(config)
    if (unknown.length > 0) {
      const message =
        'Unknown config options are specified for RUM agent: ' +
        unknown.join(', ')
      loggingService.warn(message)
    }

    if (missing.length === 0 && invalid.length === 0) {
      configService.setConfig(config)
    } else {
      const separator = ', '
      let message = "RUM agent isn't correctly configured. "

      if (missing.length > 0) {
        message += missing.join(separator) + ' is missing'
        if (invalid.length > 0) {
          message += separator
        }
      }

      invalid.forEach(({ key, value, allowed }, index) => {
        message +=
          `${key} "${value}" contains invalid characters! (allowed: ${allowed})` +
          (index !== invalid.length - 1 ? separator : '')
      })
      loggingService.error(message)
      configService.setConfig({ active: false })
    }
  }