0.1.0 • Published 3 years ago

skywalking-netease v0.1.0

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 years ago

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'

Build

npm install
npm run prepare
npm run build
npm pack

npm install skywalking-0.1.0.tgz --save


if build error
copy to lib/proto/language-agent/Tracing_pb, npm pack again
export enum SpanType {
    ENTRY = 0,
    EXIT = 1,
    LOCAL = 2,
}

export enum RefType {
    CROSSPROCESS = 0,
    CROSSTHREAD = 1,
}

export enum SpanLayer {
    UNKNOWN = 0,
    DATABASE = 1,
    RPCFRAMEWORK = 2,
    HTTP = 3,
    MQ = 4,
    CACHE = 5,
}

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