skywalking-backend-js-netease
Version:
The NodeJS agent for Apache SkyWalking
57 lines • 2.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CommandReset = void 0;
const tslib_1 = require("tslib");
const AgentConfig_1 = tslib_1.__importStar(require("../../../config/AgentConfig"));
const logging_1 = require("../../../logging");
const logger = logging_1.createLogger(__filename);
const propertyKeys = new Map();
propertyKeys.set('trace.ignore_path', { name: 'traceIgnorePath', type: 'string' });
propertyKeys.set('agent.ignore_suffix', { name: 'ignoreSuffix', type: 'string' });
propertyKeys.set('plugin.mysql.trace_sql_parameters', { name: 'sqlTraceParameters', type: 'boolean' });
propertyKeys.set('plugin.mysql.sql_parameters_max_length', { name: 'sqlParametersMaxLength', type: 'number' });
propertyKeys.set('plugin.mongodb.trace_sql_parameters', { name: 'mongoTraceParameters', type: 'boolean' });
propertyKeys.set('plugin.mongodb.sql_parameters_max_length', { name: 'mongoParametersMaxLength', type: 'number' });
propertyKeys.set('agent.instance_properties[custom.parameter.name]', { name: 'customId', type: 'string' });
propertyKeys.set('agent.instance_properties[custom.parameter.type]', { name: 'customIdType', type: 'string' });
propertyKeys.set('agent.instance_properties[custom.parameter.names]', { name: 'customId', type: 'string' });
propertyKeys.set('agent.instance_properties[custom.parameter.types]', { name: 'customIdType', type: 'string' });
class CommandReset {
start() {
}
execute(cmd) {
const props = {};
cmd.getArgsList()
.sort((a, b) => a.getKey().localeCompare(b.getKey()))
.forEach(arg => {
if (arg.getKey() === 'SerialNumber') {
return;
}
if (propertyKeys.has(arg.getKey())) {
const prop = propertyKeys.get(arg.getKey());
props[prop.name] = convert(arg.getValue(), prop.type);
logger.debug(`Dynamic config ${arg.getKey()} = ${arg.getValue()}`);
}
});
for (const key in props) {
if (Object.prototype.hasOwnProperty.call(props, key)) {
logger.info(`Dynamic reload config ${key} = ${props[key]}`);
}
}
// merge
Object.assign(AgentConfig_1.default, props);
AgentConfig_1.finalizeConfig(AgentConfig_1.default);
}
}
exports.CommandReset = CommandReset;
function convert(val, type) {
switch (type) {
case 'boolean':
return 'true' === val;
case 'number':
return +val || 512;
default:
return val;
}
}
//# sourceMappingURL=CommandConfigReset.js.map