UNPKG

ca-apm-probe

Version:

CA APM Node.js Agent monitors real-time health and performance of Node.js applications

84 lines (66 loc) 2.63 kB
/** * Copyright (c) 2016 CA. All rights reserved. * * This software and all information contained therein is confidential and proprietary and * shall not be duplicated, used, disclosed or disseminated in any way except as authorized * by the applicable license agreement, without the express written permission of CA. All * authorized reproductions must be marked with this language. * * EXCEPT AS SET FORTH IN THE APPLICABLE LICENSE AGREEMENT, TO THE EXTENT * PERMITTED BY APPLICABLE LAW, CA PROVIDES THIS SOFTWARE WITHOUT WARRANTY * OF ANY KIND, INCLUDING WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL CA BE * LIABLE TO THE END USER OR ANY THIRD PARTY FOR ANY LOSS OR DAMAGE, DIRECT OR * INDIRECT, FROM THE USE OF THIS SOFTWARE, INCLUDING WITHOUT LIMITATION, LOST * PROFITS, BUSINESS INTERRUPTION, GOODWILL, OR LOST DATA, EVEN IF CA IS * EXPRESSLY ADVISED OF SUCH LOSS OR DAMAGE. */ 'use strict'; // truncate parameter value string to this limit var MAX_ARG_VALUE_LENGTH = 100; // value expected to be string function truncateEventArgValue(value) { var strValue = value; //truncation logic if (strValue && strValue.length > MAX_ARG_VALUE_LENGTH) { strValue = strValue.substr(0, MAX_ARG_VALUE_LENGTH) + ' ...(truncated)'; } return strValue; } // always returns a string value function formatEventArgValueObject(object) { if (object) { return truncateEventArgValue((JSON.stringify(object))); } return ''; } function createErrorObject(errorClass, errMsg) { var errorObject = { class: errorClass, msg: formatEventArgValueObject(errMsg) } return errorObject; } function getFormattedErrorObject(err) { return (err instanceof Error) ? { class: err.name, msg: truncateEventArgValue(err.message) } : null; } function checkCallbackArgsForError(args, defaultErrorClass) { // based on callback calling conventions, first argument to callback is error var err = args[0]; if (err != null) { var object = getFormattedErrorObject(err); if (!object && defaultErrorClass) { object = createErrorObject(defaultErrorClass, err); } return object; } return null; } module.exports.truncateEventArgValue = truncateEventArgValue; module.exports.formatEventArgValueObject = formatEventArgValueObject; module.exports.createErrorObject = createErrorObject; module.exports.getFormattedErrorObject = getFormattedErrorObject; module.exports.checkCallbackArgsForError = checkCallbackArgsForError;