From 1167d918ad097a6ef2fd4c19741d8da31f2341f7 Mon Sep 17 00:00:00 2001 From: ascrutae Date: Thu, 14 Mar 2019 23:53:09 +0800 Subject: [PATCH] fix(Trace-Segment): fix the trace segment id is dulplicate fix #67 --- modules/nodejs-agent/lib/trace/trace-segment-id.js | 8 ++++---- modules/nodejs-agent/package.json | 9 ++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/modules/nodejs-agent/lib/trace/trace-segment-id.js b/modules/nodejs-agent/lib/trace/trace-segment-id.js index 46009ee..a659743 100644 --- a/modules/nodejs-agent/lib/trace/trace-segment-id.js +++ b/modules/nodejs-agent/lib/trace/trace-segment-id.js @@ -20,6 +20,7 @@ module.exports = ID; const AgentConfig = require("../config"); const process = require("process"); +const randomize = require("randomatic"); /** * @param {idParts} idParts @@ -33,10 +34,9 @@ function ID(idParts) { this._part3 = idParts.part3; } else { this._part1 = AgentConfig.getInstanceId(); - this._part2 = process.pid * - process.ppid ? process.ppid : (((1 + Math.random()) * 0x10000) | 0) - + (((1 + Math.random()) * 0x10000) | 0); - this._part3 = Number(process.hrtime().join("")); + this._part2 = (process.pid * process.ppid ? process.ppid : (((1 + Math.random()) * 0x10000) | 0) + + (((1 + Math.random()) * 0x10000) | 0)) + Number(randomize("0", 5)); + this._part3 = Number(process.hrtime().join("")) + Number(randomize("0", 9)); } } diff --git a/modules/nodejs-agent/package.json b/modules/nodejs-agent/package.json index d58dd94..5693e24 100644 --- a/modules/nodejs-agent/package.json +++ b/modules/nodejs-agent/package.json @@ -41,11 +41,13 @@ "js-base64": "^2.5.1", "object-hash": "^1.3.1", "on-finished": "^2.3.0", + "randomatic": "^3.1.1", "resolve": "^1.8.1", "semver": "^5.5.1", "uuid": "^3.2.1" }, "devDependencies": { + "cz-conventional-changelog": "^2.1.0", "eslint": "^4.19.1", "eslint-config-google": "^0.9.1", "eslint-plugin-header": "^1.2.0", @@ -58,5 +60,10 @@ "lib/network/common/*.js", "lib/network/language-agent-v2/*.js", "lib/network/register/*.js" - ] + ], + "config": { + "commitizen": { + "path": "./node_modules/cz-conventional-changelog" + } + } } -- GitLab