@talabes/apollo-prometheus-plugin
v3.0.0
Published
An Apollo plugin to expose GraphQL metrics as prometheus metrics
Downloads
481
Readme
Apollo Prometheus Plugin
Fork with support for latest prom-client
versions.
Install
npm install @talabes/apollo-prometheus-plugin
yarn add @talabes/apollo-prometheus-plugin
Usage
import { ApolloServer, gql } from 'apollo-server-express';
import { prometheusPlugin } from 'apollo-prometheus-plugin';
import { Registry } from 'prom-client';
import { prometheusPlugin } from '@talabes/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');
});
Available metrics and labels
| metric | type | labels | | -------------------- | --------- | ------------------------------------- | | errors_encountered | Counter | operationName operation error | | requests_resolved | Counter | operationNameoperation | | attributes_requested | Counter | fieldNameparentType | | resolver_time | Histogram | fieldNameparentTypereturnType | | total_request_time | Histogram | operationNameoperation |