0.1.0 • Published 3 years ago

skywalking-js 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-nodejs';

Agent.start({
  serviceName: '',
  serviceInstance: '',
  collectorAddress: '',
  authorization: '{productId}##{"node": "nodejs-sever", "agentType": "node.js"}',
  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'

支持Grpc SSL

将ca.crt放到项目根目录下

Build

npm install
npm run prepare
npm run build

copy to lib/proto/language-agent/Tracing_pb.d.ts
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,
}

npm pack

npm install skywalking-netease-0.1.0.tgz --save



## Supported Libraries

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

Library | Plugin Name
| :--- | :--- |
| built-in `http` module | `sw_http` |

## License
Apache 2.0