void TLResponseCodeStats::addStatus()

in proxygen/lib/http/stats/TLResponseCodeStats.cpp [49:181]


void TLResponseCodeStats::addStatus(int status) {
  switch (status) {
    case 200:
      status2xx.add(1);
      status200.add(1);
      return;
    case 404:
      status4xx.add(1);
      status404.add(1);
      return;
    case 206:
      status2xx.add(1);
      status206.add(1);
      return;
    case 301:
      status3xx.add(1);
      status301.add(1);
      return;
    case 302:
      status3xx.add(1);
      status302.add(1);
      return;
    case 303:
      status3xx.add(1);
      status303.add(1);
      return;
    case 304:
      status3xx.add(1);
      status304.add(1);
      return;
    case 307:
      status3xx.add(1);
      status307.add(1);
      return;
    case 390:
    case 391:
    case 392:
    case 393:
    case 394:
      status3xx.add(1);
      status39x.add(1);
      return;
    case 395:
      status3xx.add(1);
      status39x.add(1);
      status395.add(1);
      return;
    case 396:
      status3xx.add(1);
      status39x.add(1);
      status396.add(1);
      return;
    case 397:
      status3xx.add(1);
      status39x.add(1);
      status397.add(1);
      return;
    case 398:
      status3xx.add(1);
      status39x.add(1);
      status398.add(1);
      return;
    case 399:
      status3xx.add(1);
      status39x.add(1);
      status399.add(1);
      return;
    case 400:
      status4xx.add(1);
      status400.add(1);
      return;
    case 401:
      status4xx.add(1);
      status401.add(1);
      return;
    case 403:
      status4xx.add(1);
      status403.add(1);
      return;
    case 408:
      status4xx.add(1);
      status408.add(1);
      return;
    case 429:
      status4xx.add(1);
      status429.add(1);
      return;
    case 500:
      status5xx.add(1);
      status500.add(1);
      return;
    case 501:
      status5xx.add(1);
      status501.add(1);
      return;
    case 502:
      status5xx.add(1);
      status502.add(1);
      return;
    case 503:
      status5xx.add(1);
      status503.add(1);
      return;
    case 504:
      status5xx.add(1);
      status504.add(1);
      return;
    case 555:
      // 555 is returned on healthcheck failures. Skip counting it in exported
      // stats.
      return;
    default:
      break;
  }

  if (status < 0) {
    statusNone.add(1);
  } else if (status < 100) {
    statusOther.add(1);
  } else if (status < 200) {
    status1xx.add(1);
  } else if (status < 300) {
    status2xx.add(1);
  } else if (status < 400) {
    status3xx.add(1);
  } else if (status < 500) {
    status4xx.add(1);
  } else if (status < 600) {
    status5xx.add(1);
  } else {
    statusOther.add(1);
  }
}