diff --git a/CHANGELOG.md b/CHANGELOG.md index 37750fc..869534a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,31 @@ +# [1.1.0](https://github.com/serverless-tencent/tencent-component-monitor/compare/v1.0.6...v1.1.0) (2020-05-28) + + +### Features + +* support no report flag ([982b418](https://github.com/serverless-tencent/tencent-component-monitor/commit/982b4182e513255f0d093c53aaf3136e0576cdd7)) + +## [1.0.6](https://github.com/serverless-tencent/tencent-component-monitor/compare/v1.0.5...v1.0.6) (2020-05-25) + + +### Bug Fixes + +* 上报增加100ms超时 ([a3f75dd](https://github.com/serverless-tencent/tencent-component-monitor/commit/a3f75dd05469e35204da38e3401b449539f685c0)) + +## [1.0.5](https://github.com/serverless-tencent/tencent-component-monitor/compare/v1.0.4...v1.0.5) (2020-05-20) + + +### Bug Fixes + +* remove monitor log ([62afa5b](https://github.com/serverless-tencent/tencent-component-monitor/commit/62afa5ba57e15af53382290d95b23ef32c30b68f)) + +## [1.0.4](https://github.com/serverless-tencent/tencent-component-monitor/compare/v1.0.3...v1.0.4) (2020-05-13) + + +### Bug Fixes + +* remove context decode ([286fe4b](https://github.com/serverless-tencent/tencent-component-monitor/commit/286fe4bb38e946cabeae61aa88cf40a4f05c0089)) + ## [1.0.3](https://github.com/serverless-tencent/tencent-component-monitor/compare/v1.0.2...v1.0.3) (2020-05-13) diff --git a/package.json b/package.json index 9dd79ed..50bb92f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tencent-component-monitor", - "version": "1.0.3", + "version": "1.1.0", "description": "Tencent component monitor", "main": "src/index.js", "scripts": { @@ -69,6 +69,6 @@ "semantic-release": "^17.0.4" }, "dependencies": { - "@tencent-sdk/capi": "0.2.15" + "@tencent-sdk/capi": "^0.2.16" } } diff --git a/src/instrumentation/core/http.js b/src/instrumentation/core/http.js index 59c1fa0..dfb3fbd 100644 --- a/src/instrumentation/core/http.js +++ b/src/instrumentation/core/http.js @@ -23,7 +23,7 @@ function wrapEmitWithTransaction(agent, emit) { method: request.method, statusCode } - agent.emit('responseFinish', context, data) + agent.emit('responseFinish', context, data, request.__SLS_NO_REPORT__) } } transaction.end() diff --git a/src/instrumentation/tencent-serverless-http.js b/src/instrumentation/tencent-serverless-http.js index 9bc33df..7b64ef8 100644 --- a/src/instrumentation/tencent-serverless-http.js +++ b/src/instrumentation/tencent-serverless-http.js @@ -8,15 +8,15 @@ module.exports = function initialize(agent, httpProxy) { transaction.init() const proxy = fn.apply(this, arguments) return new Promise(function(resolve) { - agent.once('responseFinish', function(ctx, data) { - if (ctx) { + agent.once('responseFinish', function(ctx, data, noReport) { + if (ctx && noReport !== true) { report.reportHttp(ctx, data).then( - function(_data) { - const { Response } = _data || {} - const { Error: error } = Response || {} - if (error && error.Message) { - console.warn('Report monitor data error: ' + error.Message) - } + function(/* _data*/) { + // const { Response } = _data || {} + // const { Error: error } = Response || {} + // if (error && error.Message) { + // console.warn('Report monitor data error: ' + error.Message) + // } resolve(proxy) }, function() { diff --git a/src/instrumentations.js b/src/instrumentations.js index ab73095..f761935 100644 --- a/src/instrumentations.js +++ b/src/instrumentations.js @@ -3,7 +3,6 @@ const { MODULE_TYPE } = require('./constants') module.exports = function instrumentations() { return { express: { type: MODULE_TYPE.WEB_FRAMEWORK }, - finalhandler: { type: MODULE_TYPE.WEB_FRAMEWORK }, 'tencent-serverless-http': { type: MODULE_TYPE.PROXY } } } diff --git a/src/report.js b/src/report.js index 63fa6c3..976363d 100644 --- a/src/report.js +++ b/src/report.js @@ -1,5 +1,5 @@ const { Capi } = require('@tencent-sdk/capi') -const logger = require('./logger') +// const logger = require('./logger') // 字符串转16进制 function str2hex(str) { @@ -15,7 +15,6 @@ function str2hex(str) { exports.reportHttp = async function(context, { latency, method, path, statusCode }) { try { - context = JSON.parse(decodeURIComponent(context)) // 自定级监控上报的指标名只支持【a-zA-Z0-9_-】,所以把path进行转义上报 path = str2hex(path) const ServiceType = 'monitor' @@ -35,7 +34,7 @@ exports.reportHttp = async function(context, { latency, method, path, statusCode } = environment const Region = tencentcloud_region || envTencentRegion || envRegion || 'ap-guangzhou' if (!SecretId || !SecretKey) { - logger.warn('Report monitor data error: No SecretId or SecretKey in environment parameters.') + // logger.warn('Report monitor data error: No SecretId or SecretKey in environment parameters.') return } const client = new Capi({ @@ -51,7 +50,8 @@ exports.reportHttp = async function(context, { latency, method, path, statusCode } const debugOptions = { debug: false, - host: 'monitor.tencentcloudapi.com' + host: 'monitor.tencentcloudapi.com', + timeout: 100 } const keyPrefix = `${method}_${path}`