New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

graphql-lightstep-middleware

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

graphql-lightstep-middleware

GraphQL middleware to instrument resolvers with opentracing traces for lightstep collector

  • 0.0.1
  • latest
  • npm
  • Socket score

Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

graphql-lightstep-middleware

NPM

GraphQL middleware to instrument resolvers with opentracing traces for lightstep collector

build downloads version

Table of contents

Getting started

  1. Install the package and graphql-middleware
yarn add graphql-lightstep-middleware
yarn add graphql-middleware
  1. Create the lightstep global tracer
import { initGlobalTracer } from "opentracing";
import { Tracer as LightstepTracer } from "lightstep-tracer";

// Initialise the lightstep tracer
initGlobalTracer(new LightstepTracer({
  access_token: "developer",
  component_name: "graphql-lightstep-middleware",
  collector_host: "localhost",
  collector_port: 8360,
  plaintext: true,
  collector_encryption: "none"
} as any));
  1. Configure the middleware
import graphqlLightstepMiddleware from "graphql-lightstep-middleware";

// create the lightstep-graphql-middleware
const lightstepMiddleware = graphqlLightstepMiddleware({
  tracer: globalTracer()
});
  1. Apply the middleware to the schema
import express from "express";
import graphqlExpressHttp from "express-graphql";
import { applyMiddleware } from "graphql-middleware";
import { makeExecutableSchema } from "graphql-tools";

// Construct a schema, using GraphQL schema language
const typeDefs = `
  type Query {
    hello(name: String): String
  }
`;

const resolvers = {
  Query: {
    hello: (parent, args, context) => {
      const result = `Hello ${args.name ? args.name : "world"}!`;
      // The rootSpan is available in the context now
      context.tracing.rootSpan.addTags({
        helloResolver: result
      });
      return result;
    }
  }
};

// apply the middleware to the schema
const schema = applyMiddleware(
  makeExecutableSchema({ typeDefs, resolvers }),
  lightstepMiddleware
);

// Use the schema in your graphql server
const app = express();
app.use(
  "/graphql",
  graphqlExpressHttp({
    schema: schema,
    rootValue: resolvers,
    graphiql: true
  })
);

API

middleware = graphqlLightstepMiddleware([options])

  • options
    • tracer: An optional lightstep tracer object
    • hooks: Lost of PreResolve and PostResolve hooks

Refer the examples for more usage examples

Contributing

graphql-lightstep-middleware package intends to support contribution and support and thanks the open source community to making it better. Read below to learn how you can improve this repository and package

Code of Conduct

Please check the CODE OF CONDUCT which we have in place to ensure safe and supportive environment for contributors

Contributing

Feel free to create issues and bugs in the issues section using issues and bugs template. Please also ensure that there are not existing issues created on the same topic

Good first issues

Please check issues labeled #good-first-issues under the issues section

Licence

graphql-lightstep-middleware uses MIT License

FAQs

Package last updated on 30 Jan 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc