Как правильно регистрировать время запроса с помощью клиента apollo graphql? - PullRequest
1 голос
/ 08 июня 2019

Я выполняю профилирование некоторых приложений на собственном приложении, и я вижу довольно большие различия между временем запроса, которое я получаю с помощью apollo-link-logger (а также ссылками, которые я перебрал самостоятельно) и сетевая полоса профиля Android.Для запроса ~ 600 мс в профилировщике я наблюдаю более 2 секунд от промежуточного программного обеспечения, использующего систему ссылок apollo.

В моей собственной ссылке (ниже) ничего особенного не происходит (ниже)

const metricsLink = new ApolloLink((operation, forward) => {

    const { operationName } = operation
    const startTime = new Date().getTime()
    const observable = forward(operation)
    observable.subscribe({
        complete: () => {
            const elapsed = new Date().getTime() - startTime
            console.warn(`[METRICS][${operationName}] (${elapsed}) complete`)
        }
    })

    return observable
})

Похоже, что в конечном итоге это займет время, необходимое Аполлону для управления этой цепочкой запросов.Я подтвердил, что это не общая проблема с приложением, получая данные из других конечных точек напрямую с помощью fetch и сравнивая их с временем профилировщика (которое соответствует).

Стоит ли ожидать, что это на самом деле будет отражать время запроса?Где может быть оставшееся время между запросом собственной сети и временем, которое я вижу в клиенте apollo?

...