npm install @thecodenebula/apollo-prometheus-plugin
import { ApolloServer, gql } from 'apollo-server-express';
import { prometheusPlugin } from 'apollo-prometheus-plugin';
import { Registry } from 'prom-client';
import { prometheusPlugin } from '@thecodenebula/apollo-prometheus-plugin';
const register = new Registry();
const app = express();
app.get('/metrics', (_, res) => res.send(register.metrics()));
const server = new ApolloServer({
typeDefs,
resolvers,
plugins: [prometheusPlugin(register, { enableNodeMetrics: true })],
});
server.applyMiddleware({ app, path: '/' });
app.listen({ port: 8080 }, () => {
console.log('Listening');
});
metric | type | labels |
---|---|---|
errors_encountered | Counter | operationName operation error |
requests_resolved | Counter | operationName operation |
attributes_requested | Counter | fieldName parentType |
resolver_time | Histogram | fieldName parentType returnType |
total_request_time | Histogram | operationName operation |