Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit d2cfabf

Browse files
authoredApr 16, 2024
Dev/cls report (#205)
* dev: 支持 cls 上报
1 parent d40a609 commit d2cfabf

12 files changed

+708
-495
lines changed
 

‎demo/CIDemos/asr.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ export const getAsrQueue = {
135135
export const updateAsrQueue = {
136136
name: '更新语音识别队列',
137137
fn: function updateAsrQueue() {
138-
// 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46946)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询
138+
// 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/79394)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询
139139
const queueId = 'pcc77499e85c311edb9865254008618d9';
140140
const host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/asrqueue/' + queueId;
141141
const url = 'https://' + host;

‎demo/CIDemos/fileProcess.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ export const describeFileProcessQueues = {
346346
export const updateFileProcessQueue = {
347347
name: '更新文件处理队列',
348348
fn: function updateFileProcessQueue() {
349-
// 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46946)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询
349+
// 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/86421)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询
350350
const queueId = 'p6160ada105a7408e95aac015f4bf8xxx';
351351
const host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/file_queue/' + queueId;
352352
const url = 'https://' + host;

‎demo/CIDemos/picProcess.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,7 @@ export const describePicProcessQueues = {
404404
export const updatePicProcessQueue = {
405405
name: '更新图片处理队列',
406406
fn: function updatePicProcessQueue() {
407-
// 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/46946)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询
407+
// 任务所在的队列 ID,请使用查询队列(https://cloud.tencent.com/document/product/460/79395)获取或前往万象控制台(https://cloud.tencent.com/document/product/460/46487)在存储桶中查询
408408
const queueId = 'p882d181160d84feca27d9376e17c4xxx';
409409
const host = config.Bucket + '.ci.' + config.Region + '.myqcloud.com/picqueue/' + queueId;
410410
const url = 'https://' + host;

‎dist/cos-js-sdk-v5.js

+380-265
Large diffs are not rendered by default.

‎dist/cos-js-sdk-v5.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎index.d.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -188,13 +188,14 @@ declare namespace COS {
188188
UseAccelerate?: boolean;
189189
/** 默认为true,将host加入签名计算,关闭后可能导致越权风险,建议保持为true */
190190
ForceSignHost?: boolean;
191+
AutoSwitchHost?: boolean;
191192
/** 链路上报 */
192-
EnableTracker?: boolean;
193193
DeepTracker?: boolean;
194194
TrackerDelay?: number;
195195
CustomId?: string;
196+
BeaconReporter?: any;
197+
ClsReporter?: any;
196198
/** 链路上报 */
197-
AutoSwitchHost?: boolean;
198199
CopySourceParser?: null | CopySourceParserFunction;
199200
/** 获取签名的回调方法,如果没有 SecretId、SecretKey 时,必选 */
200201
getAuthorization?: (
@@ -339,6 +340,7 @@ declare namespace COS {
339340
Region?: Region;
340341
/** 发请求时带上的 Header 字段 */
341342
Headers?: Headers;
343+
tracker?: any;
342344
}
343345
/** getService 接口返回值 */
344346
interface GetServiceResult extends GeneralResult {

‎package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cos-js-sdk-v5",
3-
"version": "1.7.0",
3+
"version": "1.7.1",
44
"description": "JavaScript SDK for [腾讯云对象存储](https://cloud.tencent.com/product/cos)",
55
"main": "dist/cos-js-sdk-v5.js",
66
"types": "index.d.ts",

‎src/advance.js

+26-9
Original file line numberDiff line numberDiff line change
@@ -911,15 +911,18 @@ function uploadFile(params, callback) {
911911
var fileInfo = { TaskId: '' };
912912

913913
// 上传链路
914-
if (self.options.EnableTracker) {
914+
if (self.options.EnableReporter) {
915915
const accelerate =
916916
self.options.UseAccelerate ||
917917
(typeof self.options.Domain === 'string' && self.options.Domain.includes('accelerate.'));
918+
const realApi = FileSize > SliceSize ? 'sliceUploadFile' : 'putObject';
918919
params.tracker = new Tracker({
919-
Beacon: self.options.Beacon,
920+
Beacon: self.options.BeaconReporter,
921+
clsReporter: self.options.ClsReporter,
920922
bucket: params.Bucket,
921923
region: params.Region,
922924
apiName: 'uploadFile',
925+
realApi,
923926
fileKey: params.Key,
924927
fileSize: FileSize,
925928
accelerate,
@@ -951,7 +954,7 @@ function uploadFile(params, callback) {
951954
var _onFileFinish = params.onFileFinish;
952955
var onFileFinish = function (err, data) {
953956
// 格式化上报参数并上报
954-
params.tracker && params.tracker.formatResult(err, data);
957+
params.tracker && params.tracker.report(err, data);
955958
_onFileFinish && _onFileFinish(err, data, fileInfo);
956959
callback && callback(err, data);
957960
};
@@ -998,8 +1001,6 @@ function uploadFiles(params, callback) {
9981001
var taskList = [];
9991002
util.each(params.files, function (fileParams, index) {
10001003
(function () {
1001-
// 对齐 nodejs 缩进
1002-
10031004
var Body = fileParams.Body;
10041005
var FileSize = Body.size || Body.length || 0;
10051006
var fileInfo = { Index: index, TaskId: '' };
@@ -1013,15 +1014,18 @@ function uploadFiles(params, callback) {
10131014
TotalSize += FileSize;
10141015

10151016
// 单个文件上传链路
1016-
if (self.options.EnableTracker) {
1017+
if (self.options.EnableReporter) {
10171018
const accelerate =
10181019
self.options.UseAccelerate ||
10191020
(typeof self.options.Domain === 'string' && self.options.Domain.includes('accelerate.'));
1021+
const realApi = FileSize > SliceSize ? 'sliceUploadFile' : 'putObject';
10201022
fileParams.tracker = new Tracker({
1021-
Beacon: self.options.Beacon,
1023+
Beacon: self.options.BeaconReporter,
1024+
clsReporter: self.options.ClsReporter,
10221025
bucket: fileParams.Bucket,
10231026
region: fileParams.Region,
10241027
apiName: 'uploadFiles',
1028+
realApi,
10251029
fileKey: fileParams.Key,
10261030
fileSize: FileSize,
10271031
accelerate,
@@ -1064,7 +1068,7 @@ function uploadFiles(params, callback) {
10641068
var _onFileFinish = fileParams.onFileFinish;
10651069
var onFileFinish = function (err, data) {
10661070
// 格式化上报参数并上报
1067-
fileParams.tracker && fileParams.tracker.formatResult(err, data);
1071+
fileParams.tracker && fileParams.tracker.report(err, data);
10681072
_onFileFinish && _onFileFinish(err, data);
10691073
onTotalFileFinish && onTotalFileFinish(err, data, fileInfo);
10701074
};
@@ -1135,6 +1139,7 @@ function sliceCopyFile(params, callback) {
11351139
Key: Key,
11361140
UploadId: UploadData.UploadId,
11371141
Parts: Parts,
1142+
tracker: params.tracker,
11381143
calledBySdk: 'sliceCopyFile',
11391144
},
11401145
tryCallback
@@ -1185,6 +1190,8 @@ function sliceCopyFile(params, callback) {
11851190
UploadId: UploadData.UploadId,
11861191
PartNumber: PartNumber,
11871192
CopySourceRange: CopySourceRange,
1193+
tracker: params.tracker,
1194+
calledBySdk: 'sliceCopyFile',
11881195
},
11891196
tryCallback
11901197
);
@@ -1217,6 +1224,8 @@ function sliceCopyFile(params, callback) {
12171224
Region: Region,
12181225
Key: Key,
12191226
Headers: TargetHeader,
1227+
tracker: params.tracker,
1228+
calledBySdk: 'sliceCopyFile',
12201229
},
12211230
function (err, data) {
12221231
if (err) return callback(err);
@@ -1245,6 +1254,8 @@ function sliceCopyFile(params, callback) {
12451254
Region: Region,
12461255
Key: Key,
12471256
UploadId: UploadId,
1257+
tracker: params.tracker,
1258+
calledBySdk: 'sliceCopyFile',
12481259
},
12491260
function (err, PartListData) {
12501261
if (err) {
@@ -1341,6 +1352,8 @@ function sliceCopyFile(params, callback) {
13411352
Bucket: SourceBucket,
13421353
Region: SourceRegion,
13431354
Key: SourceKey,
1355+
tracker: params.tracker,
1356+
calledBySdk: 'sliceCopyFile',
13441357
},
13451358
function (err, data) {
13461359
if (err) {
@@ -1364,14 +1377,16 @@ function sliceCopyFile(params, callback) {
13641377
return;
13651378
}
13661379

1380+
params.tracker && params.tracker.setParams({ httpSize: FileSize });
1381+
13671382
onProgress = util.throttleOnProgress.call(self, FileSize, params.onProgress);
13681383

13691384
// 开始上传
13701385
if (FileSize <= CopySliceSize) {
13711386
if (!params.Headers['x-cos-metadata-directive']) {
13721387
params.Headers['x-cos-metadata-directive'] = 'Copy';
13731388
}
1374-
self.putObjectCopy(params, function (err, data) {
1389+
self.putObjectCopy(Object.assign(params, { calledBySdk: 'sliceCopyFile' }), function (err, data) {
13751390
if (err) {
13761391
onProgress(null, true);
13771392
return callback(err);
@@ -1429,6 +1444,8 @@ function copySliceItem(params, callback) {
14291444
UploadId: UploadId,
14301445
PartNumber: PartNumber,
14311446
CopySourceRange: CopySourceRange,
1447+
tracker: params.tracker,
1448+
calledBySdk: params.calledBySdk,
14321449
},
14331450
function (err, data) {
14341451
tryCallback(err || null, data);
There was a problem loading the remainder of the diff.

0 commit comments

Comments
 (0)
Please sign in to comment.