UNPKG

lightstep-tracer

Version:

> ❗ **This instrumentation is no longer recommended**. Please review [documentation on setting up and configuring the OpenTelemetry Node.js Launcher](https://github.com/lightstep/otel-launcher-node) or [OpenTelemetry JS (Browser)](https://github.com/open-

142 lines (112 loc) 5.79 kB
"use strict"; function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _platform_abstraction_layer = require("../platform_abstraction_layer"); var _each2 = _interopRequireDefault(require("../_each")); var coerce = _interopRequireWildcard(require("./coerce")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } // eslint-disable-line camelcase var LogRecordImp = /*#__PURE__*/function () { function LogRecordImp(logFieldKeyHardLimit, logFieldValueHardLimit, timestampMicros, fields) { _classCallCheck(this, LogRecordImp); if (fields instanceof Error) { fields = { stack: fields.stack, message: fields.message }; } this._logFieldKeyHardLimit = logFieldKeyHardLimit; this._logFieldValueHardLimit = logFieldValueHardLimit; this._timestampMicros = timestampMicros; this._fields = fields; this._keysOverLimit = 0; this._valuesOverLimit = 0; } _createClass(LogRecordImp, [{ key: "_clearOverLimits", value: function _clearOverLimits() { this._keysOverLimit = 0; this._valuesOverLimit = 0; } }, { key: "getNumKeysOverLimit", value: function getNumKeysOverLimit() { return this._keysOverLimit; } }, { key: "getNumValuesOverLimit", value: function getNumValuesOverLimit() { return this._valuesOverLimit; } }, { key: "toThrift", value: function toThrift() { var _this = this; this._clearOverLimits(); var thriftFields = []; (0, _each2["default"])(this._fields, function (value, key) { if (!key || !value) { return; } var keyStr = _this.getFieldKey(key); var valStr = _this.getFieldValue(value); // eslint-disable-next-line camelcase thriftFields.push(new _platform_abstraction_layer.crouton_thrift.KeyValue({ Key: keyStr, Value: valStr })); }); // eslint-disable-next-line camelcase return new _platform_abstraction_layer.crouton_thrift.LogRecord({ timestamp_micros: this._timestampMicros, fields: thriftFields }); } }, { key: "getFieldKey", value: function getFieldKey(key) { var keyStr = coerce.toString(key); if (keyStr.length > this._logFieldKeyHardLimit) { this._keysOverLimit += 1; keyStr = "".concat(keyStr.substr(0, this._logFieldKeyHardLimit), "..."); } return keyStr; } }, { key: "getFieldValue", value: function getFieldValue(value) { var valStr = null; if (value instanceof Error) { try { // https://stackoverflow.com/a/26199752/9778850 valStr = JSON.stringify(value, Object.getOwnPropertyNames(value)); } catch (e) { valStr = "Could not encode value. Exception: ".concat(e); } } else if (value instanceof Object) { try { valStr = JSON.stringify(value, null, ' '); } catch (e) { valStr = "Could not encode value. Exception: ".concat(e); } } else { valStr = coerce.toString(value); } if (valStr.length > this._logFieldValueHardLimit) { this._valuesOverLimit += 1; valStr = "".concat(valStr.substr(0, this._logFieldValueHardLimit), "..."); } return valStr; } }]); return LogRecordImp; }(); exports["default"] = LogRecordImp; module.exports = exports.default; //# sourceMappingURL=log_record_imp.js.map