1.0.4 • Published 4 years ago
qmantis-express v1.0.4

QMantis: Observability and monitoring for GraphQL APIs
QMantis is a GraphQL server with an autoinstrumentation solution for GraphQL APIs using Express. It's an easy and quick way to get your Express-based GraphQL API backend running with an observability feature, which generates and exports metrics and traces data and creates a Grafana dashboard for you to analyze.
With only a few commands, QMantis allows you to:
- Monitor your GraphQL API request rate, error rate, and latency
- Analyze traces for every request made to the
/graphqlendpoint - Visualize the query made by the user and each resolvers' runtime
- Investigate bottlenecks in your GraphQL API backend
Installation
qmantis-express is a npm package. To install it, use the npm install command. You will also need to install express-graphql as that is the server that was configured.
npm install qmantis-express express-graphqlSet Up
- After you have installed the package, import the server to your
index.jsfile after you importexpressand before any other imports. Importexpress-graphqlas well.
import express from "express";
const app = express();
import {
tracing,
qMantis,
registerLatency,
responseTime,
collectData
} from "qmantis-express";
import { graphqlHTTP } from "express-graphql";- Set up three route handlers for the
/graphqlendpoint:collectData,responseTime(registerLatency), andgraphqlHTTP(qMantis(schema))in that order. TheqMantiscallback function accepts a mandatoryschema(aGraphQLSchemainstance) argument as well as an optionalrootValueargument:
app.use("/graphql", collectData);
app.use("/graphql", responseTime(registerLatency));
app.use("/graphql", graphqlHTTP(qMantis(schema [,rootValue]))); - Clone the
qmantis-composefolder and run the commanddocker-compose up(see details here).
Your GraphQL API is now running and you can access the metrics and traces dashboards on localhost:3000.