function contextLength()

in lib/apm-client/http-apm-client/truncate.js [321:390]


function contextLength(path, opts) {
  switch (path[1]) {
    case 'db':
      if (path[2] === 'statement') {
        return opts.truncateLongFieldsAt;
      }
      break;

    case 'message':
      if (path[2] === 'body') {
        return opts.truncateLongFieldsAt;
      }
      break;

    case 'request':
      switch (path[2]) {
        case 'method':
        case 'http_version':
          return opts.truncateKeywordsAt;

        case 'body':
          return opts.truncateLongFieldsAt;

        case 'url':
          switch (path[3]) {
            case 'protocol':
            case 'hostname':
            case 'port':
            case 'pathname':
            case 'search':
            case 'hash':
            case 'raw':
            case 'full':
              return opts.truncateKeywordsAt;
          }
          break;
      }
      break;

    case 'user':
      switch (path[2]) {
        case 'id':
        case 'email':
        case 'username':
          return opts.truncateKeywordsAt;
      }
      break;

    case 'tags':
      return opts.truncateKeywordsAt;

    case 'destination':
      switch (path[2]) {
        case 'address':
          return opts.truncateKeywordsAt;

        case 'service':
          switch (path[3]) {
            case 'name':
            case 'resource':
            case 'type':
              return opts.truncateKeywordsAt;
          }
          break;
      }
      break;
  }

  return opts.truncateStringsAt;
}