Easily tap into Apollo Client requests and log those in your performance tracking tool of choice.
Via npm
npm install apollo-link-performance
Via Yarn
yarn add apollo-link-performance
import { ApolloClient, from, HTTPLink } from '@apollo/client'
import { performanceLink } from 'apollo-link-performance'
import analytics from '../libs/analytics'
const httpLink = new HttpLink({
uri: https://mygraphqlapi.com,
})
const client = new ApolloClient({
link: from([
performanceLink({
onRequestComplete: ({ data, dataSize, duration, operation }) => {
analytics.track(`GraphQL Request - Performance`, {
dataSize,
duration,
operationName: operation.operationName,
operationType: operation.query.definitions[0].operation,
})
}
})
httpLink,
])
})