Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: /api/diff seems to be very slow #359

Open
xinbenlv opened this issue Nov 11, 2020 · 1 comment
Open

Bug: /api/diff seems to be very slow #359

xinbenlv opened this issue Nov 11, 2020 · 1 comment

Comments

@xinbenlv
Copy link
Contributor

Taking about 5s ~ 10s to load. In one of the case, it takes 67.9s.

Solution steps:
[ ]. mitigation: change diffing query from pre-render to post-render.
[ ]. solution: find out why diff takes so long, and fix ourside if it's in our side, or identify if there is an increase latency in the MW side and notify them
[ ]. prevention: find out a API latency measure and monitor mechanism. We should setup more fine-grained latency monitoring with rules.

@xinbenlv
Copy link
Contributor Author

xinbenlv commented Nov 11, 2020

When visiting lastbad feeds, it shows

[info] AXIOS      420ms  200 get http://en.wikipedia.org/w/api.php?action=query&format=json&list=recentchanges&formatversion=2&rcnamespace=0&rcprop=title%7Ctimestamp%7Cids%7Coresscores%7Cflags%7Ctags%7Csizes%7Ccomment%7Cuser&rcshow=%21bot%7Coresreview&rclimit=50&rctype=edit&rctoponly=1
[info] PERF       508ms  200 GET /api/feed/lastbad?limit=3&wiki=enwiki&feed=lastbad&userGaId=GA1.1.742836998.1599596937 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       283ms  200 GET /api/revision/enwiki:988196001 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       278ms  200 GET /api/revision/enwiki:988193840 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       276ms  200 GET /api/revision/enwiki:988194272 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       274ms  200 GET /api/revision/enwiki:988195840 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       996ms  200 GET /api/revision/enwiki:988195038 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       317ms  200 GET /api/revision/enwiki:988195664 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       269ms  200 GET /api/revision/enwiki:988196053 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       271ms  200 GET /api/revision/enwiki:988194127 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF      2623ms  200 GET /api/revision/enwiki:988195702 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       279ms  200 GET /api/revision/enwiki:988195654 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       395ms  200 GET /api/revision/enwiki:988193581 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       634ms  200 GET /api/revision/enwiki:988193127 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       426ms  200 GET /api/revision/enwiki:988194235 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       343ms  200 GET /api/revision/enwiki:988196067 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF      1174ms  200 GET /api/revision/enwiki:988193232 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       280ms  200 GET /api/revision/enwiki:988195958 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       278ms  200 GET /api/revision/enwiki:988195610 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       279ms  200 GET /api/revision/enwiki:988194746 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       271ms  200 GET /api/revision/enwiki:988192580 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       542ms  200 GET /api/revision/enwiki:988192786 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       303ms  200 GET /api/revision/enwiki:988193710 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       275ms  200 GET /api/revision/enwiki:988194025 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       278ms  200 GET /api/revision/enwiki:988194872 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF      1020ms  200 GET /api/revision/enwiki:988193386 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       281ms  200 GET /api/revision/enwiki:988191964 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       339ms  200 GET /api/revision/enwiki:988193754 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       269ms  200 GET /api/revision/enwiki:988195963 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       270ms  200 GET /api/revision/enwiki:988193602 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       532ms  200 GET /api/revision/enwiki:988194696 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       273ms  200 GET /api/revision/enwiki:988196097 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       271ms  200 GET /api/revision/enwiki:988194525 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       283ms  200 GET /api/revision/enwiki:988192886 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
[info] PERF       316ms  200 GET /api/revision/enwiki:988193361 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI
Error: Request failed with status code 504
    at createError (/Users/zzn/ws/wikiloop-doublecheck/node_modules/axios/lib/core/createError.js:16:15)
    at settle (/Users/zzn/ws/wikiloop-doublecheck/node_modules/axios/lib/core/settle.js:17:12)
    at IncomingMessage.handleStreamEnd (/Users/zzn/ws/wikiloop-doublecheck/node_modules/axios/lib/adapters/http.js:237:11)
    at IncomingMessage.emit (events.js:327:22)
    at IncomingMessage.EventEmitter.emit (domain.js:482:12)
    at endReadableNT (_stream_readable.js:1221:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  config: {
    url: 'http://en.wikipedia.org/w/api.php?action=query&format=json&list=recentchanges&formatversion=2&rcnamespace=0&rcprop=title%7Ctimestamp%7Cids%7Coresscores%7Cflags%7Ctags%7Csizes%7Ccomment%7Cuser&rcshow=%21bot%7Coresreview&rclimit=50&rctype=edit&rctoponly=1',
    method: 'get',
    headers: {
      Accept: 'application/json, text/plain, */*',
      'User-Agent': 'WikiLoop DoubleCheck Dev'
    },
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 0,
    adapter: [Function: httpAdapter],
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    validateStatus: [Function: validateStatus],
    ts: 569282.8513379991,
    data: undefined
  },
  request: ClientRequest {
    _events: [Object: null prototype] {
      socket: [Function],
      abort: [Function],
      aborted: [Function],
      error: [Function],
      timeout: [Function],
      prefinish: [Function: requestOnPrefinish]
    },
    _eventsCount: 6,
    _maxListeners: undefined,
    outputData: [],
    outputSize: 0,
    writable: true,
    _last: true,
    chunkedEncoding: false,
    shouldKeepAlive: false,
    useChunkedEncodingByDefault: false,
    sendDate: false,
    _removedConnection: false,
    _removedContLen: false,
    _removedTE: false,
    _contentLength: 0,
    _hasBody: true,
    _trailer: '',
    finished: true,
    _headerSent: true,
    socket: TLSSocket {
      _tlsOptions: [Object],
      _secureEstablished: true,
      _securePending: false,
      _newSessionPending: false,
      _controlReleased: true,
      secureConnecting: true,
      _SNICallback: null,
      servername: 'en.wikipedia.org',
      alpnProtocol: false,
      authorized: true,
      authorizationError: null,
      encrypted: true,
      _events: [Object: null prototype],
      _eventsCount: 9,
      connecting: false,
      _hadError: false,
      _parent: null,
      _host: 'en.wikipedia.org',
      _readableState: [ReadableState],
      readable: false,
      _maxListeners: undefined,
      _writableState: [WritableState],
      writable: false,
      allowHalfOpen: false,
      _sockname: null,
      _pendingData: null,
      _pendingEncoding: '',
      server: undefined,
      _server: null,
      ssl: null,
      _requestCert: true,
      _rejectUnauthorized: true,
      parser: null,
      _httpMessage: [Circular],
      write: [Function: writeAfterFIN],
      [Symbol(res)]: null,
      [Symbol(verified)]: true,
      [Symbol(pendingSession)]: null,
      [Symbol(asyncId)]: 173151,
      [Symbol(kHandle)]: null,
      [Symbol(kSetNoDelay)]: false,
      [Symbol(lastWriteQueueSize)]: 0,
      [Symbol(timeout)]: null,
      [Symbol(kBuffer)]: null,
      [Symbol(kBufferCb)]: null,
      [Symbol(kBufferGen)]: null,
      [Symbol(kCapture)]: false,
      [Symbol(kBytesRead)]: 1014,
      [Symbol(kBytesWritten)]: 371,
      [Symbol(connect-options)]: [Object]
    },
    connection: TLSSocket {
      _tlsOptions: [Object],
      _secureEstablished: true,
      _securePending: false,
      _newSessionPending: false,
      _controlReleased: true,
      secureConnecting: true,
      _SNICallback: null,
      servername: 'en.wikipedia.org',
      alpnProtocol: false,
      authorized: true,
      authorizationError: null,
      encrypted: true,
      _events: [Object: null prototype],
      _eventsCount: 9,
      connecting: false,
      _hadError: false,
      _parent: null,
      _host: 'en.wikipedia.org',
      _readableState: [ReadableState],
      readable: false,
      _maxListeners: undefined,
      _writableState: [WritableState],
      writable: false,
      allowHalfOpen: false,
      _sockname: null,
      _pendingData: null,
      _pendingEncoding: '',
      server: undefined,
      _server: null,
      ssl: null,
      _requestCert: true,
      _rejectUnauthorized: true,
      parser: null,
      _httpMessage: [Circular],
      write: [Function: writeAfterFIN],
      [Symbol(res)]: null,
      [Symbol(verified)]: true,
      [Symbol(pendingSession)]: null,
      [Symbol(asyncId)]: 173151,
      [Symbol(kHandle)]: null,
      [Symbol(kSetNoDelay)]: false,
      [Symbol(lastWriteQueueSize)]: 0,
      [Symbol(timeout)]: null,
      [Symbol(kBuffer)]: null,
      [Symbol(kBufferCb)]: null,
      [Symbol(kBufferGen)]: null,
      [Symbol(kCapture)]: false,
      [Symbol(kBytesRead)]: 1014,
      [Symbol(kBytesWritten)]: 371,
      [Symbol(connect-options)]: [Object]
    },
    _header: 'GET /w/api.php?action=query&format=json&list=recentchanges&formatversion=2&rcnamespace=0&rcprop=title%7Ctimestamp%7Cids%7Coresscores%7Cflags%7Ctags%7Csizes%7Ccomment%7Cuser&rcshow=%21bot%7Coresreview&rclimit=50&rctype=edit&rctoponly=1 HTTP/1.1\r\n' +
      'Accept: application/json, text/plain, */*\r\n' +
      'User-Agent: WikiLoop DoubleCheck Dev\r\n' +
      'Host: en.wikipedia.org\r\n' +
      'Connection: close\r\n' +
      '\r\n',
    _onPendingData: [Function: noopPendingOutput],
    agent: Agent {
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      defaultPort: 443,
      protocol: 'https:',
      options: [Object],
      requests: {},
      sockets: [Object],
      freeSockets: {},
      keepAliveMsecs: 1000,
      keepAlive: false,
      maxSockets: Infinity,
      maxFreeSockets: 256,
      maxCachedSessions: 100,
      _sessionCache: [Object],
      [Symbol(kCapture)]: false
    },
    socketPath: undefined,
    method: 'GET',
    insecureHTTPParser: undefined,
    path: '/w/api.php?action=query&format=json&list=recentchanges&formatversion=2&rcnamespace=0&rcprop=title%7Ctimestamp%7Cids%7Coresscores%7Cflags%7Ctags%7Csizes%7Ccomment%7Cuser&rcshow=%21bot%7Coresreview&rclimit=50&rctype=edit&rctoponly=1',
    _ended: true,
    res: IncomingMessage {
      _readableState: [ReadableState],
      readable: false,
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      socket: [TLSSocket],
      connection: [TLSSocket],
      httpVersionMajor: 1,
      httpVersionMinor: 1,
      httpVersion: '1.1',
      complete: true,
      headers: [Object],
      rawHeaders: [Array],
      trailers: {},
      rawTrailers: [],
      aborted: false,
      upgrade: false,
      url: '',
      method: null,
      statusCode: 504,
      statusMessage: 'Gateway Timeout',
      client: [TLSSocket],
      _consuming: true,
      _dumped: false,
      req: [Circular],
      responseUrl: 'https://en.wikipedia.org/w/api.php?action=query&format=json&list=recentchanges&formatversion=2&rcnamespace=0&rcprop=title%7Ctimestamp%7Cids%7Coresscores%7Cflags%7Ctags%7Csizes%7Ccomment%7Cuser&rcshow=%21bot%7Coresreview&rclimit=50&rctype=edit&rctoponly=1',
      redirects: [],
      [Symbol(kCapture)]: false
    },
    aborted: false,
    timeoutCb: null,
    upgradeOrConnect: false,
    parser: null,
    maxHeadersCount: null,
    reusedSocket: false,
    _redirectable: Writable {
      _writableState: [WritableState],
      writable: true,
      _events: [Object: null prototype],
      _eventsCount: 2,
      _maxListeners: undefined,
      _options: [Object],
      _redirectCount: 1,
      _redirects: [],
      _requestBodyLength: 0,
      _requestBodyBuffers: [],
      _onNativeResponse: [Function],
      _currentRequest: [Circular],
      _currentUrl: 'https://en.wikipedia.org/w/api.php?action=query&format=json&list=recentchanges&formatversion=2&rcnamespace=0&rcprop=title%7Ctimestamp%7Cids%7Coresscores%7Cflags%7Ctags%7Csizes%7Ccomment%7Cuser&rcshow=%21bot%7Coresreview&rclimit=50&rctype=edit&rctoponly=1',
      _isRedirect: true,
      [Symbol(kCapture)]: false
    },
    [Symbol(kCapture)]: false,
    [Symbol(kNeedDrain)]: false,
    [Symbol(corked)]: 0,
    [Symbol(kOutHeaders)]: [Object: null prototype] {
      accept: [Array],
      'user-agent': [Array],
      host: [Array]
    }
  },
  response: {
    status: 504,
    statusText: 'Gateway Timeout',
    headers: {
      'content-length': '24',
      'content-type': 'text/plain',
      date: 'Wed, 11 Nov 2020 18:12:41 GMT',
      server: 'envoy',
      age: '0',
      'x-cache': 'cp4030 miss, cp4029 pass',
      'x-cache-status': 'pass',
      'server-timing': 'cache;desc="pass"',
      'strict-transport-security': 'max-age=106384710; includeSubDomains; preload',
      'report-to': '{ "group": "wm_nel", "max_age": 86400, "endpoints": [{ "url": "https://intake-logging.wikimedia.org/v1/events?stream=w3c.reportingapi.network_error&schema_uri=/w3c/reportingapi/network_error/1.0.0" }] }',
      nel: '{ "report_to": "wm_nel", "max_age": 86400, "failure_fraction": 0.05, "success_fraction": 0.0}',
      'set-cookie': [Array],
      'x-client-ip': '108.201.185.91',
      connection: 'close'
    },
    config: {
      url: 'http://en.wikipedia.org/w/api.php?action=query&format=json&list=recentchanges&formatversion=2&rcnamespace=0&rcprop=title%7Ctimestamp%7Cids%7Coresscores%7Cflags%7Ctags%7Csizes%7Ccomment%7Cuser&rcshow=%21bot%7Coresreview&rclimit=50&rctype=edit&rctoponly=1',
      method: 'get',
      headers: [Object],
      transformRequest: [Array],
      transformResponse: [Array],
      timeout: 0,
      adapter: [Function: httpAdapter],
      xsrfCookieName: 'XSRF-TOKEN',
      xsrfHeaderName: 'X-XSRF-TOKEN',
      maxContentLength: -1,
      validateStatus: [Function: validateStatus],
      ts: 569282.8513379991,
      data: undefined
    },
    request: ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 6,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      _last: true,
      chunkedEncoding: false,
      shouldKeepAlive: false,
      useChunkedEncodingByDefault: false,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      _contentLength: 0,
      _hasBody: true,
      _trailer: '',
      finished: true,
      _headerSent: true,
      socket: [TLSSocket],
      connection: [TLSSocket],
      _header: 'GET /w/api.php?action=query&format=json&list=recentchanges&formatversion=2&rcnamespace=0&rcprop=title%7Ctimestamp%7Cids%7Coresscores%7Cflags%7Ctags%7Csizes%7Ccomment%7Cuser&rcshow=%21bot%7Coresreview&rclimit=50&rctype=edit&rctoponly=1 HTTP/1.1\r\n' +
        'Accept: application/json, text/plain, */*\r\n' +
        'User-Agent: WikiLoop DoubleCheck Dev\r\n' +
        'Host: en.wikipedia.org\r\n' +
        'Connection: close\r\n' +
        '\r\n',
      _onPendingData: [Function: noopPendingOutput],
      agent: [Agent],
      socketPath: undefined,
      method: 'GET',
      insecureHTTPParser: undefined,
      path: '/w/api.php?action=query&format=json&list=recentchanges&formatversion=2&rcnamespace=0&rcprop=title%7Ctimestamp%7Cids%7Coresscores%7Cflags%7Ctags%7Csizes%7Ccomment%7Cuser&rcshow=%21bot%7Coresreview&rclimit=50&rctype=edit&rctoponly=1',
      _ended: true,
      res: [IncomingMessage],
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      _redirectable: [Writable],
      [Symbol(kCapture)]: false,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kOutHeaders)]: [Object: null prototype]
    },
    data: 'upstream request timeout'
  },
  isAxiosError: true,
  toJSON: [Function]
}
Promise {
  <rejected> Error: Request failed with status code 504
      at createError (/Users/zzn/ws/wikiloop-doublecheck/node_modules/axios/lib/core/createError.js:16:15)
      at settle (/Users/zzn/ws/wikiloop-doublecheck/node_modules/axios/lib/core/settle.js:17:12)
      at IncomingMessage.handleStreamEnd (/Users/zzn/ws/wikiloop-doublecheck/node_modules/axios/lib/adapters/http.js:237:11)
      at IncomingMessage.emit (events.js:327:22)
      at IncomingMessage.EventEmitter.emit (domain.js:482:12)
      at endReadableNT (_stream_readable.js:1221:12)
      at processTicksAndRejections (internal/process/task_queues.js:84:21) {
    config: {
      url: 'http://en.wikipedia.org/w/api.php?action=query&format=json&list=recentchanges&formatversion=2&rcnamespace=0&rcprop=title%7Ctimestamp%7Cids%7Coresscores%7Cflags%7Ctags%7Csizes%7Ccomment%7Cuser&rcshow=%21bot%7Coresreview&rclimit=50&rctype=edit&rctoponly=1',
      method: 'get',
      headers: [Object],
      transformRequest: [Array],
      transformResponse: [Array],
      timeout: 0,
      adapter: [Function: httpAdapter],
      xsrfCookieName: 'XSRF-TOKEN',
      xsrfHeaderName: 'X-XSRF-TOKEN',
      maxContentLength: -1,
      validateStatus: [Function: validateStatus],
      ts: 569282.8513379991,
      data: undefined
    },
    request: ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 6,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      _last: true,
      chunkedEncoding: false,
      shouldKeepAlive: false,
      useChunkedEncodingByDefault: false,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      _contentLength: 0,
      _hasBody: true,
      _trailer: '',
      finished: true,
      _headerSent: true,
      socket: [TLSSocket],
      connection: [TLSSocket],
      _header: 'GET /w/api.php?action=query&format=json&list=recentchanges&formatversion=2&rcnamespace=0&rcprop=title%7Ctimestamp%7Cids%7Coresscores%7Cflags%7Ctags%7Csizes%7Ccomment%7Cuser&rcshow=%21bot%7Coresreview&rclimit=50&rctype=edit&rctoponly=1 HTTP/1.1\r\n' +
        'Accept: application/json, text/plain, */*\r\n' +
        'User-Agent: WikiLoop DoubleCheck Dev\r\n' +
        'Host: en.wikipedia.org\r\n' +
        'Connection: close\r\n' +
        '\r\n',
      _onPendingData: [Function: noopPendingOutput],
      agent: [Agent],
      socketPath: undefined,
      method: 'GET',
      insecureHTTPParser: undefined,
      path: '/w/api.php?action=query&format=json&list=recentchanges&formatversion=2&rcnamespace=0&rcprop=title%7Ctimestamp%7Cids%7Coresscores%7Cflags%7Ctags%7Csizes%7Ccomment%7Cuser&rcshow=%21bot%7Coresreview&rclimit=50&rctype=edit&rctoponly=1',
      _ended: true,
      res: [IncomingMessage],
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      _redirectable: [Writable],
      [Symbol(kCapture)]: false,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kOutHeaders)]: [Object: null prototype]
    },
    response: {
      status: 504,
      statusText: 'Gateway Timeout',
      headers: [Object],
      config: [Object],
      request: [ClientRequest],
      data: 'upstream request timeout'
    },
    isAxiosError: true,
    toJSON: [Function]
  }
}
[info] PERF      1323ms  200 GET /api/revision/enwiki:988195065 ga_id=GA1.1.742836998.1599596937 session_id=v3Hxveg3gMOeVeTt7ckfJ1TSTgifmreI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant