Skip to content

Commit 90a9c60

Browse files
authored
feat: 支持 cls 上报 (#102)
* feat: 支持 cls 上报
1 parent 7ca0e88 commit 90a9c60

File tree

13 files changed

+1071
-554
lines changed

13 files changed

+1071
-554
lines changed

demo-album/lib/cos-wx-sdk-v5.js

Lines changed: 368 additions & 201 deletions
Large diffs are not rendered by default.

demo-album/lib/cos-wx-sdk-v5.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/ciDemo/asr.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ function getAsrQueue() {
199199
}
200200

201201
function putAsrQueue() {
202-
// 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46946)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询
202+
// 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46234)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询
203203
var queueId = 'pcc77499e85c311edb9865254008618d9';
204204
var host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/asrqueue/' + queueId;
205205
var url = 'https://' + host;

demo/lib/cls.min.js

Lines changed: 25 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/lib/cos-wx-sdk-v5.js

Lines changed: 368 additions & 201 deletions
Large diffs are not rendered by default.

demo/lib/cos-wx-sdk-v5.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/tools.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
var COS = require('./lib/cos-wx-sdk-v5');
22
var config = require('./config');
33
const Beacon = require('./lib/beacon_mp.min');
4+
const ClsClient = require('./lib/cls.min');
5+
const clsClient = new ClsClient({
6+
topicId: 'xxxxxx-xxxx-xxxx-xxxx-xxxxxx', // 日志主题 id
7+
region: 'ap-guangzhou', // 日志主题所在地域,比如 ap-guangzhou,需在小程序平台设置域名白名单:https://ap-guangzhou.cls.tencentcs.com
8+
maxRetainDuration: 30, // 默认 30s
9+
maxRetainSize: 20, // 默认20条
10+
});
411

512
// 签名回调
613
var getAuthorization = function (options, callback) {
@@ -87,11 +94,11 @@ var getAuthorization = function (options, callback) {
8794
};
8895

8996
var cos = new COS({
90-
// EnableTracker: true, // 开启灯塔上报
91-
// Beacon,
9297
getAuthorization: getAuthorization,
9398
// 是否使用全球加速域名。开启该配置后仅以下接口支持操作:putObject、getObject、headObject、optionsObject、multipartInit、multipartListPart、multipartUpload、multipartAbort、multipartComplete、multipartList、sliceUploadFile、uploadFiles
9499
// UseAccelerate: true,
100+
// BeaconReporter: Beacon, // 开启灯塔上报
101+
// ClsReporter: clsClient, // 开启 cls 上报
95102
});
96103

97104
// 回调统一处理函数

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cos-wx-sdk-v5",
3-
"version": "1.6.1",
3+
"version": "1.6.2",
44
"description": "小程序 SDK for [腾讯云对象存储服务](https://cloud.tencent.com/product/cos)",
55
"main": "demo/lib/cos-wx-sdk-v5.min.js",
66
"scripts": {

src/advance.js

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -943,15 +943,18 @@ async function uploadFile(params, callback) {
943943
var fileInfo = { TaskId: '' };
944944

945945
// 上传链路
946-
if (self.options.EnableTracker) {
946+
if (self.options.EnableReporter) {
947947
const accelerate =
948948
self.options.UseAccelerate ||
949949
(typeof self.options.Domain === 'string' && self.options.Domain.includes('accelerate.'));
950+
const realApi = FileSize > SliceSize ? 'sliceUploadFile' : 'putObject';
950951
params.tracker = new Tracker({
951-
Beacon: self.options.Beacon,
952+
Beacon: self.options.BeaconReporter,
953+
clsReporter: self.options.ClsReporter,
952954
bucket: params.Bucket,
953955
region: params.Region,
954956
apiName: 'uploadFile',
957+
realApi,
955958
fileKey: params.Key,
956959
fileSize: FileSize,
957960
accelerate,
@@ -979,7 +982,7 @@ async function uploadFile(params, callback) {
979982
var _onFileFinish = params.onFileFinish;
980983
var onFileFinish = function (err, data) {
981984
// 格式化上报参数并上报
982-
params.tracker && params.tracker.formatResult(err, data);
985+
params.tracker && params.tracker.report(err, data);
983986
_onFileFinish && _onFileFinish(err, data, fileInfo);
984987
callback && callback(err, data);
985988
};
@@ -1043,15 +1046,18 @@ async function uploadFiles(params, callback) {
10431046
TotalSize += FileSize;
10441047

10451048
// 单个文件上传链路
1046-
if (self.options.EnableTracker) {
1049+
if (self.options.EnableReporter) {
10471050
const accelerate =
10481051
self.options.UseAccelerate ||
10491052
(typeof self.options.Domain === 'string' && self.options.Domain.includes('accelerate.'));
1053+
const realApi = FileSize > SliceSize ? 'sliceUploadFile' : 'putObject';
10501054
fileParams.tracker = new Tracker({
1051-
Beacon: self.options.Beacon,
1055+
Beacon: self.options.BeaconReporter,
1056+
clsReporter: self.options.ClsReporter,
10521057
bucket: fileParams.Bucket,
10531058
region: fileParams.Region,
10541059
apiName: 'uploadFiles',
1060+
realApi,
10551061
fileKey: fileParams.Key,
10561062
fileSize: FileSize,
10571063
accelerate,
@@ -1089,7 +1095,7 @@ async function uploadFiles(params, callback) {
10891095
var _onFileFinish = fileParams.onFileFinish;
10901096
var onFileFinish = function (err, data) {
10911097
// 格式化上报参数并上报
1092-
fileParams.tracker && fileParams.tracker.formatResult(err, data);
1098+
fileParams.tracker && fileParams.tracker.report(err, data);
10931099
_onFileFinish && _onFileFinish(err, data);
10941100
onTotalFileFinish && onTotalFileFinish(err, data, fileInfo);
10951101
};
@@ -1166,6 +1172,7 @@ function sliceCopyFile(params, callback) {
11661172
Key: Key,
11671173
UploadId: UploadData.UploadId,
11681174
Parts: Parts,
1175+
tracker: params.tracker,
11691176
calledBySdk: 'sliceCopyFile',
11701177
},
11711178
tryCallback
@@ -1217,6 +1224,8 @@ function sliceCopyFile(params, callback) {
12171224
UploadId: UploadData.UploadId,
12181225
PartNumber: PartNumber,
12191226
CopySourceRange: CopySourceRange,
1227+
tracker: params.tracker,
1228+
calledBySdk: 'sliceCopyFile',
12201229
onProgress: function (data) {
12211230
FinishSize += data.loaded - preAddSize;
12221231
preAddSize = data.loaded;
@@ -1257,6 +1266,8 @@ function sliceCopyFile(params, callback) {
12571266
Region: Region,
12581267
Key: Key,
12591268
Headers: TargetHeader,
1269+
tracker: params.tracker,
1270+
calledBySdk: 'sliceCopyFile',
12601271
},
12611272
function (err, data) {
12621273
if (err) return callback(err);
@@ -1285,6 +1296,8 @@ function sliceCopyFile(params, callback) {
12851296
Region: Region,
12861297
Key: Key,
12871298
UploadId: UploadId,
1299+
tracker: params.tracker,
1300+
calledBySdk: 'sliceCopyFile',
12881301
},
12891302
function (err, PartListData) {
12901303
if (err) {
@@ -1383,6 +1396,8 @@ function sliceCopyFile(params, callback) {
13831396
Bucket: SourceBucket,
13841397
Region: SourceRegion,
13851398
Key: SourceKey,
1399+
tracker: params.tracker,
1400+
calledBySdk: 'sliceCopyFile',
13861401
},
13871402
function (err, data) {
13881403
if (err) {
@@ -1400,14 +1415,15 @@ function sliceCopyFile(params, callback) {
14001415
return;
14011416
}
14021417

1418+
params.tracker && params.tracker.setParams({ httpSize: FileSize });
14031419
onProgress = util.throttleOnProgress.call(self, FileSize, params.onProgress);
14041420

14051421
// 开始上传
14061422
if (FileSize <= CopySliceSize) {
14071423
if (!params.Headers['x-cos-metadata-directive']) {
14081424
params.Headers['x-cos-metadata-directive'] = 'Copy';
14091425
}
1410-
self.putObjectCopy(params, function (err, data) {
1426+
self.putObjectCopy(Object.assign(params, { calledBySdk: 'sliceCopyFile' }), function (err, data) {
14111427
if (err) {
14121428
onProgress(null, true);
14131429
return callback(err);
@@ -1466,6 +1482,8 @@ function copySliceItem(params, callback) {
14661482
PartNumber: PartNumber,
14671483
CopySourceRange: CopySourceRange,
14681484
onProgress: params.onProgress,
1485+
tracker: params.tracker,
1486+
calledBySdk: params.calledBySdk,
14691487
},
14701488
function (err, data) {
14711489
tryCallback(err || null, data);

0 commit comments

Comments
 (0)