skywalking-backend-js-netease
Version:
The NodeJS agent for Apache SkyWalking
71 lines • 3.68 kB
JavaScript
;
/*!
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const AgentConfig_1 = tslib_1.__importStar(require("./config/AgentConfig"));
const GrpcProtocol_1 = tslib_1.__importDefault(require("./agent/protocol/grpc/GrpcProtocol"));
const CommandExecute_1 = require("./agent/protocol/command/CommandExecute");
const logging_1 = require("./logging");
const PluginInstaller_1 = tslib_1.__importDefault(require("./core/PluginInstaller"));
const logger = logging_1.createLogger(__filename);
class Agent {
constructor() {
this.started = false;
this.protocol = null;
}
start(options = {}) {
if (process.env.SW_DISABLE === 'true') {
logger.info('SkyWalking agent is disabled by `SW_DISABLE=true`');
return;
}
if (this.started) {
logger.warn('SkyWalking agent started more than once, subsequent options to start ignored.');
return;
}
Object.assign(AgentConfig_1.default, options);
AgentConfig_1.finalizeConfig(AgentConfig_1.default);
logger.debug('Starting SkyWalking agent');
new PluginInstaller_1.default().install();
this.protocol = new GrpcProtocol_1.default().heartbeat().report();
CommandExecute_1.initCommandExecutor();
this.started = true;
}
flush() {
if (this.protocol === null) {
logger.warn('Trying to flush() SkyWalking agent which is not started.');
return null;
}
return this.protocol.flush();
}
}
exports.default = new Agent();
var ContextManager_1 = require("./trace/context/ContextManager");
Object.defineProperty(exports, "ContextManager", { enumerable: true, get: function () { return ContextManager_1.default; } });
var AzureHttpTriggerPlugin_1 = require("./azure/AzureHttpTriggerPlugin");
Object.defineProperty(exports, "AzureHttpTriggerPlugin", { enumerable: true, get: function () { return AzureHttpTriggerPlugin_1.default; } });
var AWSLambdaTriggerPlugin_1 = require("./aws/AWSLambdaTriggerPlugin");
Object.defineProperty(exports, "AWSLambdaTriggerPlugin", { enumerable: true, get: function () { return AWSLambdaTriggerPlugin_1.default; } });
var AWSLambdaGatewayAPIHTTP_1 = require("./aws/AWSLambdaGatewayAPIHTTP");
Object.defineProperty(exports, "AWSLambdaGatewayAPIHTTP", { enumerable: true, get: function () { return AWSLambdaGatewayAPIHTTP_1.default; } });
var AWSLambdaGatewayAPIREST_1 = require("./aws/AWSLambdaGatewayAPIREST");
Object.defineProperty(exports, "AWSLambdaGatewayAPIREST", { enumerable: true, get: function () { return AWSLambdaGatewayAPIREST_1.default; } });
var Decorator_1 = require("./trace/custom/Decorator");
Object.defineProperty(exports, "Trace", { enumerable: true, get: function () { return Decorator_1.default; } });
//# sourceMappingURL=index.js.map