Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including traci with all npm packages installed. Try it out:

var traci = require("traci")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

traci v2.0.1

hapi open tracing plugin

traci

License: MPL 2.0 Build Status

hapi open tracing plugin

Options

  • tracer - instance of OpenTracing.Tracer, defaults to OpenTracing.Tracer base class
  • onRequest - array of properties to select from the hapi request object and include in the hapi_request span log. Defaults to ['headers', 'info']
  • onPostAuth - array of properties to select from the hapi request object and include in the hapi_auth span log. Defaults to ['auth']
  • onPreHandler - array of properties to select from the hapi request object and include in the hapi_handler span log. Defaults to ['route.settings.handler.name']
  • onPreResponse - array of properties to select from the hapi request object and include in the hapi_response span log. Defaults to ['info']

Properties

Decorates the hapi server object with .tracer, which is an instance of the intialized Tracer class. This can be used to create spans and reports. To access a parent span of one of the following types you can use the new request.span(type) method to return the current span of whatever type you care about. For example, to create a new span in a request handler using the parent handler span you can invoke request.span as follows:

handler: (request, h) => {
  const span = request.server.tracer.startSpan('some_action', { childOf: request.span('handler').context() });
  const something = await someAction();
  span.finish();
  return something;
}

The following spans are created:

  • hapi_request
  • hapi_auth
  • hapi_handler
  • hapi_response
  • hapi_log

Inside of a handler you can obtain the parent span by invoking request.span()

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free