Node 10 AsyncLocalStorage and Plugin loader (#7)

7 files changed
tree: ff973381e098e6a8ac0931399da2574a6946c6bc
  1. .github/
  2. scripts/
  3. src/
  4. tests/
  5. .asf.yaml
  6. .dockerignore
  7. .gitignore
  8. .gitmodules
  9. .prettierrc
  10. jest.config.js
  11. jest.setup.js
  12. LICENSE
  13. NOTICE
  14. package-lock.json
  15. package.json
  16. README.md
  17. tsconfig.json
  18. 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