@galoymoney/instrumentation-graphql
TypeScript icon, indicating that this package has built-in type declarations

0.26.0 • Public • Published

OpenTelemetry Instrumentation GraphQL

NPM Published Version dependencies devDependencies Apache License

This module provides automated instrumentation and tracing for GraphQL in Node.js applications.

Note: graphql plugin instruments graphql directly. it should work with any package that wraps the graphql package (e.g apollo).

Minimum required graphql version is v14

Compatible with OpenTelemetry JS API and SDK 1.0+.

Installation

npm install @opentelemetry/instrumentation-graphql

Usage

'use strict';

const { GraphQLInstrumentation } = require('@opentelemetry/instrumentation-graphql');
const { NodeTracerProvider } = require('@opentelemetry/sdk-trace-node');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');

const provider = new NodeTracerProvider();
provider.register();

registerInstrumentations({
  instrumentations: [
    new GraphQLInstrumentation({
    // optional params
      // allowValues: true,
      // depth: 2,
      // mergeItems: true,
    }),
  ],
});

Optional Parameters

Param type Default Value Description
mergeItems boolean false Whether to merge list items into a single element. example: users.*.name instead of users.0.name, users.1.name
depth number -1 The maximum depth of fields/resolvers to instrument. When set to 0 it will not instrument fields and resolvers. When set to -1 it will instrument all fields and resolvers.
allowValues boolean false When set to true it will not remove attributes values from schema source. By default all values that can be sensitive are removed and replaced with "*"
responseHook GraphQLInstrumentationExecutionResponseHook undefined Hook that allows adding custom span attributes based on the data returned from "execute" GraphQL action.

Examples

Can be found here

Useful links

License

Apache 2.0 - See LICENSE for more information.

Versions

Current Tags

VersionDownloads (Last 7 Days)Tag
0.26.00latest

Version History

VersionDownloads (Last 7 Days)Published
0.26.00

Package Sidebar

Install

npm i @galoymoney/instrumentation-graphql

Weekly Downloads

0

Version

0.26.0

License

Apache-2.0

Unpacked Size

76.4 kB

Total Files

28

Last publish

Collaborators

  • galoybot
  • sbgaloy
  • daviroo
  • nbgaloy
  • bodymindarts