Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

lightstep-opentelemetry-launcher-node

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lightstep-opentelemetry-launcher-node

Lightstep Launcher - a configuration layer OpenTelemetry Node.js

  • 2.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
860
increased by66.67%
Maintainers
1
Weekly downloads
 
Created
Source

Launcher, a Lightstep Distro for OpenTelemetry 🚀

What is Launcher?

Launcher is a configuration layer that chooses default values for configuration options that many OpenTelemetry users want. It provides a single function in each language to simplify discovery of the options and components available to users. The goal of Launcher is to help users that aren't familiar with OpenTelemetry quickly ramp up on what they need to get going and instrument.

Getting started

npm i lightstep-opentelemetry-launcher-node

Configure

Setup Tracing

Put the following in tracing.js

const { lightstep } = require('lightstep-opentelemetry-launcher-node');

const sdk = lightstep.configureOpenTelemetry({
  accessToken: 'YOUR ACCESS TOKEN',
  serviceName: 'otel-example',
});

// initialize and start the SDK
sdk.start();

// Gracefully shutdown the SDK
const process = require('process');
process.on('SIGTERM', () => {
  sdk
    .shutdown()
    .then(
      () => console.log('SDK shut down successfully'),
      (err) => console.log('Error shutting down SDK', err)
    )
    .finally(() => process.exit(0));
});
Run Your Application
node -r ./tracing.js app.js

Customization

While the built-in automatic instrumentation will provide good coverage for many users, there are scenarios where users may want to write custom instrumentation, or enrich the existing telemetry. Below are links to some resources about the OpenTelemetry API and some examples of its usage:

  • OpenTelemetry JS Tracing API
  • OpenTelemetry JS Examples

Configuration Options

Config OptionEnv VariableRequiredDefault
serviceNameLS_SERVICE_NAMEy-
serviceVersionLS_SERVICE_VERSIONnunknown
spanEndpointOTEL_EXPORTER_OTLP_TRACES_ENDPOINTnhttps://ingest.lightstep.com/traces/otlp/v0.9
metricsEndpointOTEL_EXPORTER_OTLP_METRICS_ENDPOINTnhttps://ingest.lightstep.com/metrics/otlp/v0.9
metricsReportingPeriodOTEL_EXPORTER_OTLP_METRICS_PERIODn30000
metricsEnabledLS_METRICS_ENABLEDnfalse
accessTokenLS_ACCESS_TOKENn-
logLevelOTEL_LOG_LEVELninfo
propagatorsOTEL_PROPAGATORSnb3
resourceOTEL_RESOURCE_ATTRIBUTESn-
Additional Options

In addition the options below, the configureOpenTelemetry function will take any configuration options supported by the OpenTelemetry Node SDK package and its return value is a NodeSDK instance. See the OpenTelemetry Node SDK documentation for more details.

Upgrade Guidelines

1.3.0 to 2.0.0
  • NodeSDK.start() is now synchronous and no longer returns a promise. At a minimum, calls to sdk.start().then(...); should be changed to sdk.start();. It is now recommended to use a tracing.js with node -r. See the example for details.

Principles behind Launcher

100% interoperability with OpenTelemetry

One of the key principles behind putting together Launcher is to make lives of OpenTelemetry users easier, this means that there is no special configuration that requires users to install Launcher in order to use OpenTelemetry. It also means that any users of Launcher can leverage the flexibility of configuring OpenTelemetry as they need.

Validation

Another decision we made with launcher is to provide end users with a layer of validation of their configuration. This provides us the ability to give feedback to our users faster, so they can start collecting telemetry sooner.

Start using it today in Go, Java, Javascript and Python and let us know what you think!


Made with :heart: @ Lightstep

Keywords

FAQs

Package last updated on 30 May 2023

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