Skip to content

The common-diagnostics repository, responsible for holding and executing convenience methods to help provide diagnostics.

Notifications You must be signed in to change notification settings

pillarwallet/common-diagnostics

Repository files navigation

common-diagnostics

Common Diagnostics is a set of tools that assist in the monitoring, health and reporting of issues from server to code level.

Currently available services

Updating this README.md

Run npm run generateReadme to parse the code for JSDoc comment blocks and recreate this README.md file.

Install

Run npm i @pillarwallet/common-diagnostics

Getting Started

Sentry

In order to use Sentry, you must first instruct Sentry on what environments it is allowed to be instantiated on. Sentry will not start automatically, you must "opt-in" to use it - this prevents Sentry running and reporting on environments that do not require monitoring such as development, test and local environments.

First, include the library:

const diagnostics = require('@pillarwallet/diagnostics');

Next, build your Sentry configuration:

/**
 * Build an array of environment names that Sentry is ALLOWED to
 * run on. Any other environments will not trigger an instantiation
 * of Sentry.
 */
const whitelistedEnvironments = ['qa', 'narnia', 'production'];

/**
 * Pass through a Sentry configuration object, specific to the app
 * that this instance of Sentry is running on. The Sentry configuration
 * object can be found here:
 * https://docs.sentry.io/learn/configuration/?platform=node
 */
const sentryConfiguration = {
  dsn: 'https://1qaz2wsx3edc4rfv@sentry.io/1234567',
  debug: true,
};

/**
 * Call the required methods to build and start an instance of
 * Sentry. Once start is successfully called, an instance of Sentry
 * is return to the app.
 */
const sentry = diagnostics.sentryBuilder.setWhitelistedEnvironments(
      whitelistedEnvironments,
    )
      .setConfiguration(sentryConfiguration)
      .start();

Further information on how to implement Sentry with Express, and other Javascript based libraries and frameworks is located here.

API

Members

setConfigurationObject.<sentryBuilder>

A setter for the Sentry configuration object.

setWhitelistedEnvironmentsObject.<sentryBuilder>

A setter for the allowed environments Sentry is allowed to run on.

startObject.<Sentry> | false

Attempts to start and return an instance of Sentry, providing that all the conditions are correct.

setConfiguration ⇒ Object.<sentryBuilder>

A setter for the Sentry configuration object.

Kind: global variable

Param Type Description
incomingConfiguration Object A Sentry configuration object.

setWhitelistedEnvironments ⇒ Object.<sentryBuilder>

A setter for the allowed environments Sentry is allowed to run on.

Kind: global variable

Param Type Description
incomingWhitelistedEnvironments Array An array of allowed environment names.

start ⇒ Object.<Sentry> | false

Attempts to start and return an instance of Sentry, providing that all the conditions are correct.

Kind: global variable

About

The common-diagnostics repository, responsible for holding and executing convenience methods to help provide diagnostics.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •