Refactor the span context to use ALS
19 files changed
tree: 3864f5f94660e8e9627372fb33adca8c87318b0c
  1. scripts/
  2. src/
  3. tests/
  4. .asf.yaml
  5. .dockerignore
  6. .gitignore
  7. .gitmodules
  8. .prettierrc
  9. LICENSE
  10. NOTICE
  11. package-lock.json
  12. package.json
  13. README.md
  14. tsconfig.json
  15. tslint.json
README.md

SkyWalking NodeJS Agent

SkyWalking-NodeJS: The NodeJS Agent for Apache SkyWalking, which provides the native tracing abilities for NodeJS project.

SkyWalking: an APM(application performance monitor) system, especially designed for microservices, cloud native and container-based (Docker, Kubernetes, Mesos) architectures.

GitHub stars Twitter Follow

Build

Set up NodeJS Agent

SkyWalking NodeJS SDK requires SkyWalking 8.0+.

import Agent from 'skywalking';

Agent.start({
  serviceName: '',
  serviceInstance: '',
  collectorAddress: '',
  authorization: '',
  maxBufferSize: 1000,
});

The supported environment variables are as follows:

Environment VariableDescriptionDefault
SW_AGENT_NAMEThe name of the serviceyour-nodejs-service
SW_AGENT_INSTANCEThe name of the service instanceRandomly generated
SW_AGENT_COLLECTOR_BACKEND_SERVICESThe backend OAP server address127.0.0.1:11800
SW_AGENT_AUTHENTICATIONThe authentication token to verify that the agent is trusted by the backend OAP, as for how to configure the backend, refer to the yaml.not set
SW_AGENT_LOGGING_LEVELThe logging level, could be one of CRITICAL, FATAL, ERROR, WARN(WARNING), INFO, DEBUGINFO
SW_AGENT_MAX_BUFFER_SIZEThe maximum buffer size before sending the segment data to backend'1000'

Supported Libraries

There're some built-in plugins that support automatic instrumentation of NodeJS libraries, the complete lists are as follows:

LibraryPlugin Name
built-in http modulesw_http

License

Apache 2.0