@uwa4d/openapi-mcp 0.2.0-beta.14 → 0.2.0-beta.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -155,15 +155,15 @@ export const VERSION_GUIDE = {
155
155
  gotonline_overview_method_curve: [
156
156
  '【选用规则——务必先看】',
157
157
  '- v1.0.1 直出曲线 JSON(按 stackMethodName 或 stackMethodId)。',
158
- '- **MCP 与 Open API 推荐改用 gotonline_overview_method_curve_presign(v1.0.2)**:OSS 预签名,仅传 stackMethodId。',
158
+ '- **MCP 与 Open API 推荐改用 gotonline_overview_method_curve_presign(v1.0.2)**:OSS 预签名,id 或 name 至少其一。',
159
159
  '- stackMethodId 来自 gotonline_overview_method_idmap_statistic 或自定义函数组统计。',
160
160
  ].join('\n'),
161
161
  gotonline_overview_method_curve_presign: [
162
162
  '【选用规则——务必先看】',
163
163
  '- v1.0.2 OSS 预签名下载函数逐帧曲线 JSON(Unity · UE)。',
164
- '- **Open API 入口仅支持 stackMethodId(必填)**;UE 另需 threadName',
164
+ '- stackMethodId stackMethodName **至少传一个**(同时传时优先 id);UE 另需 threadName,Unity 不传。',
165
165
  '- 不要用 v1.0.1 gotonline_overview_method_curve 除非必须服务端直出。',
166
- '- stackMethodId 优先从 gotonline_overview_method_idmap_statistic 获取。',
166
+ '- id 优先从 gotonline_overview_method_idmap_statistic 获取。',
167
167
  ].join('\n'),
168
168
  gotonline_overview_indicator_dashboard_keys: [
169
169
  '【选用规则——务必先看】',
@@ -208,6 +208,7 @@ export const VERSION_GUIDE = {
208
208
  gotonline_overview_stack_tree_frame_presign: [
209
209
  '【选用规则——务必先看】',
210
210
  '- **单帧**完整堆栈树(frameId 必填)。用于已知尖峰帧深挖,不是卡顿分析的第一步。',
211
+ '- Unity:不传 threadId=主线程;传子线程 id/名=该子线程指定帧树(thread idmap)。UE:threadId 必传(含 GameThread)。',
211
212
  '- 卡顿共性根因请先用 stutter_full_tree / stutter_scene_tree(已是多帧合并结果)。',
212
213
  '- ❌ 不要对 frametime valueGt 筛出的每个慢帧循环调用本工具来「聚类」。',
213
214
  STACK_ANALYSIS_GUIDE,
@@ -215,6 +216,7 @@ export const VERSION_GUIDE = {
215
216
  gotonline_overview_stack_sample_frame_presign: [
216
217
  '【选用规则——务必先看】',
217
218
  '- 堆栈树某个结点的逐帧曲线;结点 id 来自树文件。',
219
+ '- Unity 子线程须传 threadId + sampleId;不传 threadId 为主线程(可不传 sampleId 取全帧聚合)。',
218
220
  STACK_ANALYSIS_GUIDE,
219
221
  ].join('\n'),
220
222
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uwa4d/openapi-mcp",
3
- "version": "0.2.0-beta.14",
3
+ "version": "0.2.0-beta.16",
4
4
  "description": "UWA 开放平台 MCP Server,将 UWA Open API 暴露为 MCP 工具供 AI 助手调用",
5
5
  "type": "module",
6
6
  "bin": {
@@ -27,6 +27,7 @@
27
27
  "prepublishOnly": "npm run build && node scripts/check-publish-tag.mjs",
28
28
  "release": "node scripts/release.mjs",
29
29
  "release:dry": "node scripts/release.mjs --dry-run",
30
+ "release:stable-patch": "node scripts/release-stable-patch.mjs",
30
31
  "version:beta": "node scripts/bump.mjs beta",
31
32
  "version:release": "node scripts/bump.mjs release"
32
33
  },
@@ -21,6 +21,52 @@
21
21
  "to": "单次请求最多查询 30 份报告(文档写 50,实测上限 30,超出会返回 20001)"
22
22
  }
23
23
  ]
24
+ },
25
+ "gotonline_overview_method_idmap_statistic": {
26
+ "reason": "threadName 仅 UE 必填;Unity 主线程不传。MCP 全局 schema 不得 required,否则 Zod 拦 Unity 调用。",
27
+ "verifiedAt": "2026-08-12",
28
+ "evidence": "sandbox:Unity dataKey=20260812163333sdk6b704767 不传 threadName 返回 348 条;UE 同接口须 threadName=GameThread。",
29
+ "setQueryRequired": {
30
+ "threadName": false
31
+ },
32
+ "setQueryDescription": {
33
+ "threadName": "UE 必传(GameThread / RHIThread / RenderThread / FAsyncLoadingThread 等)。Unity 无需此参数(不传=主线程)"
34
+ }
35
+ },
36
+ "gotonline_overview_method_curve_presign": {
37
+ "reason": "threadName 仅 UE 必填;Unity 不传。stackMethodId/Name 至少其一即可(与线上 Open API 一致)。",
38
+ "verifiedAt": "2026-08-12",
39
+ "evidence": "sandbox:Unity 仅 stackMethodId 可取曲线;UE 须 threadName=GameThread。生产 Open API 支持 name+id。",
40
+ "setQueryRequired": {
41
+ "threadName": false,
42
+ "stackMethodId": false,
43
+ "stackMethodName": false
44
+ },
45
+ "setQueryDescription": {
46
+ "threadName": "UE 必传。Unity 无需此参数",
47
+ "stackMethodId": "函数 ID;与 stackMethodName 至少传一个,同时传时优先 id",
48
+ "stackMethodName": "函数名称;与 stackMethodId 至少传一个"
49
+ }
50
+ },
51
+ "gotonline_overview_stack_tree_frame_presign": {
52
+ "reason": "threadId 仅 UE 必填(含 GameThread);Unity 不传=主线程,传子线程 id/名=子线程树。",
53
+ "verifiedAt": "2026-08-12",
54
+ "evidence": "sandbox:Unity 帧树不传 threadId 成功;UE 传 GameThread/RenderThread 成功。旧 MCP schema 把 threadId 标成全局 required,Agent 调 Unity 时被 Zod 卡住。",
55
+ "setQueryRequired": {
56
+ "threadId": false
57
+ },
58
+ "setQueryDescription": {
59
+ "threadId": "UE 必传(线程 id 或线程名,含 GameThread)。Unity:不传=主线程;传子线程 id/名=该子线程指定帧树"
60
+ }
61
+ },
62
+ "gotonline_overview_stack_sample_frame_presign": {
63
+ "reason": "threadId / sampleId 文档写作「UE 是」,不得升成 MCP 全局必填。",
64
+ "verifiedAt": "2026-08-12",
65
+ "evidence": "文档表写作「UE 是」;旧 isRequired 用 /是/ 子串匹配会误判。Unity 主线程可不传 threadId,可不传 sampleId 取全帧聚合。",
66
+ "setQueryRequired": {
67
+ "threadId": false,
68
+ "sampleId": false
69
+ }
24
70
  }
25
71
  }
26
72
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-08-07T02:47:15.805Z",
2
+ "generatedAt": "2026-08-12T10:13:51.372Z",
3
3
  "sourceDoc": "uwa-openapi-20260730.md",
4
4
  "operationCount": 59,
5
5
  "operations": [
@@ -76,7 +76,7 @@
76
76
  }
77
77
  ],
78
78
  "body": [],
79
- "docLine": 5628
79
+ "docLine": 5640
80
80
  },
81
81
  {
82
82
  "title": "获取报告统计数据",
@@ -116,7 +116,7 @@
116
116
  }
117
117
  ],
118
118
  "body": [],
119
- "docLine": 8268
119
+ "docLine": 8326
120
120
  }
121
121
  ]
122
122
  },
@@ -193,7 +193,7 @@
193
193
  }
194
194
  ],
195
195
  "body": [],
196
- "docLine": 6453
196
+ "docLine": 6465
197
197
  }
198
198
  ]
199
199
  },
@@ -269,7 +269,7 @@
269
269
  }
270
270
  ],
271
271
  "body": [],
272
- "docLine": 6323
272
+ "docLine": 6335
273
273
  }
274
274
  ]
275
275
  },
@@ -364,7 +364,7 @@
364
364
  }
365
365
  ],
366
366
  "body": [],
367
- "docLine": 5942
367
+ "docLine": 5954
368
368
  }
369
369
  ]
370
370
  },
@@ -483,7 +483,7 @@
483
483
  }
484
484
  ],
485
485
  "body": [],
486
- "docLine": 6835
486
+ "docLine": 6847
487
487
  }
488
488
  ]
489
489
  },
@@ -645,7 +645,7 @@
645
645
  }
646
646
  ],
647
647
  "body": [],
648
- "docLine": 6752
648
+ "docLine": 6764
649
649
  }
650
650
  ]
651
651
  },
@@ -753,7 +753,7 @@
753
753
  }
754
754
  ],
755
755
  "body": [],
756
- "docLine": 6704
756
+ "docLine": 6716
757
757
  }
758
758
  ]
759
759
  },
@@ -977,7 +977,7 @@
977
977
  }
978
978
  ],
979
979
  "body": [],
980
- "docLine": 6946
980
+ "docLine": 6958
981
981
  }
982
982
  ]
983
983
  },
@@ -1157,7 +1157,7 @@
1157
1157
  }
1158
1158
  ],
1159
1159
  "body": [],
1160
- "docLine": 5829
1160
+ "docLine": 5841
1161
1161
  }
1162
1162
  ]
1163
1163
  },
@@ -1232,7 +1232,7 @@
1232
1232
  }
1233
1233
  ],
1234
1234
  "body": [],
1235
- "docLine": 5745
1235
+ "docLine": 5757
1236
1236
  }
1237
1237
  ]
1238
1238
  },
@@ -1310,7 +1310,7 @@
1310
1310
  }
1311
1311
  ],
1312
1312
  "body": [],
1313
- "docLine": 5194
1313
+ "docLine": 5206
1314
1314
  }
1315
1315
  ]
1316
1316
  },
@@ -1462,7 +1462,7 @@
1462
1462
  }
1463
1463
  ],
1464
1464
  "body": [],
1465
- "docLine": 6231
1465
+ "docLine": 6243
1466
1466
  }
1467
1467
  ]
1468
1468
  },
@@ -1534,7 +1534,7 @@
1534
1534
  }
1535
1535
  ],
1536
1536
  "body": [],
1537
- "docLine": 6141
1537
+ "docLine": 6153
1538
1538
  }
1539
1539
  ]
1540
1540
  },
@@ -1611,7 +1611,7 @@
1611
1611
  }
1612
1612
  ],
1613
1613
  "body": [],
1614
- "docLine": 6051
1614
+ "docLine": 6063
1615
1615
  }
1616
1616
  ]
1617
1617
  },
@@ -1717,7 +1717,7 @@
1717
1717
  }
1718
1718
  ],
1719
1719
  "body": [],
1720
- "docLine": 4305
1720
+ "docLine": 4317
1721
1721
  }
1722
1722
  ]
1723
1723
  },
@@ -1809,7 +1809,7 @@
1809
1809
  }
1810
1810
  ],
1811
1811
  "body": [],
1812
- "docLine": 4066
1812
+ "docLine": 4078
1813
1813
  }
1814
1814
  ]
1815
1815
  },
@@ -1916,7 +1916,7 @@
1916
1916
  }
1917
1917
  ],
1918
1918
  "body": [],
1919
- "docLine": 4209
1919
+ "docLine": 4221
1920
1920
  }
1921
1921
  ]
1922
1922
  },
@@ -2109,7 +2109,7 @@
2109
2109
  }
2110
2110
  ],
2111
2111
  "body": [],
2112
- "docLine": 3470
2112
+ "docLine": 3482
2113
2113
  },
2114
2114
  {
2115
2115
  "title": "自定义变量曲线数据",
@@ -2164,7 +2164,7 @@
2164
2164
  }
2165
2165
  ],
2166
2166
  "body": [],
2167
- "docLine": 7466
2167
+ "docLine": 7478
2168
2168
  }
2169
2169
  ]
2170
2170
  },
@@ -2244,7 +2244,7 @@
2244
2244
  }
2245
2245
  ],
2246
2246
  "body": [],
2247
- "docLine": 3287
2247
+ "docLine": 3299
2248
2248
  },
2249
2249
  {
2250
2250
  "title": "自定义变量 idmap",
@@ -2284,7 +2284,7 @@
2284
2284
  }
2285
2285
  ],
2286
2286
  "body": [],
2287
- "docLine": 7287
2287
+ "docLine": 7299
2288
2288
  }
2289
2289
  ]
2290
2290
  },
@@ -2420,7 +2420,7 @@
2420
2420
  "description": "子属性 ID,Vector 类型变量必传,其他类型忽略"
2421
2421
  }
2422
2422
  ],
2423
- "docLine": 3363
2423
+ "docLine": 3375
2424
2424
  },
2425
2425
  {
2426
2426
  "title": "自定义变量统计数据",
@@ -2478,7 +2478,7 @@
2478
2478
  "description": "子属性 ID,Vector 类型必传,来自 idmap 的 dimensionList[].id"
2479
2479
  }
2480
2480
  ],
2481
- "docLine": 7361
2481
+ "docLine": 7373
2482
2482
  }
2483
2483
  ]
2484
2484
  },
@@ -2555,7 +2555,7 @@
2555
2555
  }
2556
2556
  ],
2557
2557
  "body": [],
2558
- "docLine": 3637
2558
+ "docLine": 3649
2559
2559
  }
2560
2560
  ]
2561
2561
  },
@@ -2629,7 +2629,7 @@
2629
2629
  }
2630
2630
  ],
2631
2631
  "body": [],
2632
- "docLine": 3698
2632
+ "docLine": 3710
2633
2633
  }
2634
2634
  ]
2635
2635
  },
@@ -2705,7 +2705,7 @@
2705
2705
  }
2706
2706
  ],
2707
2707
  "body": [],
2708
- "docLine": 7556
2708
+ "docLine": 7568
2709
2709
  }
2710
2710
  ]
2711
2711
  },
@@ -3059,7 +3059,7 @@
3059
3059
  }
3060
3060
  ],
3061
3061
  "body": [],
3062
- "docLine": 7165
3062
+ "docLine": 7177
3063
3063
  }
3064
3064
  ]
3065
3065
  },
@@ -3138,7 +3138,7 @@
3138
3138
  }
3139
3139
  ],
3140
3140
  "body": [],
3141
- "docLine": 5101
3141
+ "docLine": 5113
3142
3142
  },
3143
3143
  {
3144
3144
  "title": "运行日志",
@@ -3177,7 +3177,7 @@
3177
3177
  }
3178
3178
  ],
3179
3179
  "body": [],
3180
- "docLine": 7883
3180
+ "docLine": 7941
3181
3181
  }
3182
3182
  ]
3183
3183
  },
@@ -3266,7 +3266,7 @@
3266
3266
  }
3267
3267
  ],
3268
3268
  "body": [],
3269
- "docLine": 3756
3269
+ "docLine": 3768
3270
3270
  }
3271
3271
  ]
3272
3272
  },
@@ -3341,7 +3341,7 @@
3341
3341
  }
3342
3342
  ],
3343
3343
  "body": [],
3344
- "docLine": 3580
3344
+ "docLine": 3592
3345
3345
  }
3346
3346
  ]
3347
3347
  },
@@ -3448,7 +3448,7 @@
3448
3448
  }
3449
3449
  ],
3450
3450
  "body": [],
3451
- "docLine": 3198
3451
+ "docLine": 3210
3452
3452
  }
3453
3453
  ]
3454
3454
  },
@@ -3457,7 +3457,7 @@
3457
3457
  "name": "函数曲线预签名",
3458
3458
  "method": "GET",
3459
3459
  "path": "/openapi/v1/data/gotonline/overview/method/curve/presign",
3460
- "summary": "获取指定函数逐帧曲线(预签名 JSON,v1.0.2,仅 stackMethodId)",
3460
+ "summary": "Unity 指定函数逐帧曲线(预签名,v1.0.2)",
3461
3461
  "engines": [
3462
3462
  "unity",
3463
3463
  "unreal"
@@ -3487,40 +3487,47 @@
3487
3487
  {
3488
3488
  "name": "stackMethodId",
3489
3489
  "type": "string",
3490
- "required": true,
3490
+ "required": false,
3491
3491
  "example": "4096133288",
3492
- "description": "[Unity] 函数 ID(必填) [UE] 函数 ID(Open API 必填)"
3492
+ "description": "函数 ID;与 stackMethodName 至少传一个,同时传时优先 id"
3493
+ },
3494
+ {
3495
+ "name": "stackMethodName",
3496
+ "type": "string",
3497
+ "required": false,
3498
+ "example": "Animators.WriteJob",
3499
+ "description": "函数名称;与 stackMethodId 至少传一个"
3493
3500
  },
3494
3501
  {
3495
3502
  "name": "threadName",
3496
3503
  "type": "string",
3497
- "required": true,
3504
+ "required": false,
3498
3505
  "example": "GameThread",
3499
- "description": "[Unity] UE 必传 [UE] UE 必传。Unity 无需此参数"
3506
+ "description": "UE 必传。Unity 无需此参数"
3500
3507
  }
3501
3508
  ],
3502
3509
  "body": [],
3503
3510
  "returnsPresignUrl": true,
3504
3511
  "variants": [
3505
3512
  {
3506
- "title": "函数曲线预签名",
3513
+ "title": "函数曲线预签名(Unity)",
3507
3514
  "docEngines": [
3508
3515
  "unity"
3509
3516
  ],
3510
3517
  "supportedEngines": [
3511
- "unity",
3512
- "unreal"
3518
+ "unity"
3513
3519
  ],
3514
3520
  "module": "overview",
3515
- "description": "获取指定函数的逐帧曲线(self_times / total_times / call_counts)。返回 OSS 预签名 JSON。Open API 仅支持 stackMethodId 入参(不支持函数名)。",
3521
+ "description": "获取指定函数的逐帧曲线(self_times / total_times / call_counts)。返回 OSS 预签名 JSON。完整说明见 函数曲线预签名(Unity);UE 自定义函数组曲线数据。",
3516
3522
  "apiVersions": [
3517
3523
  "v1.0.2"
3518
3524
  ],
3519
3525
  "sdkRequirement": ">= 2.5.1",
3520
- "prerequisite": "stackMethodId 需从函数 idmap 统计或自定义函数组统计获取。",
3526
+ "prerequisite": "使用 stackMethodId 时:可从函数 idmap 统计(Unity)或自定义函数组统计获取 使用 stackMethodName 时:同名函数会按 totalTimeMean 取较大者;需精确定位请传 id",
3521
3527
  "notes": [
3522
- "Header 须 v1.0.2;逐帧直出请用 v1.0.1 method/curve(按名称,不推荐 Open API 使用)",
3523
- "Unity 无需 threadName;UE 必须传 threadName"
3528
+ "Header 须 v1.0.2",
3529
+ "同名函数建议传 stackMethodId 以避免歧义",
3530
+ "尖峰帧下钻见 指定帧堆栈树(Unity)"
3524
3531
  ],
3525
3532
  "returnRules": [],
3526
3533
  "query": [
@@ -3541,20 +3548,20 @@
3541
3548
  {
3542
3549
  "name": "stackMethodId",
3543
3550
  "type": "string",
3544
- "required": true,
3551
+ "required": false,
3545
3552
  "example": "4096133288",
3546
- "description": "函数 ID(必填)"
3553
+ "description": "函数 ID;与 name 至少传一个,同时传时优先"
3547
3554
  },
3548
3555
  {
3549
- "name": "threadName",
3556
+ "name": "stackMethodName",
3550
3557
  "type": "string",
3551
- "required": true,
3552
- "example": "GameThread",
3553
- "description": "UE 必传"
3558
+ "required": false,
3559
+ "example": "Animators.WriteJob",
3560
+ "description": "函数名称;与 id 至少传一个"
3554
3561
  }
3555
3562
  ],
3556
3563
  "body": [],
3557
- "docLine": 3153
3564
+ "docLine": 3160
3558
3565
  },
3559
3566
  {
3560
3567
  "title": "自定义函数组曲线数据",
@@ -3562,19 +3569,18 @@
3562
3569
  "unreal"
3563
3570
  ],
3564
3571
  "supportedEngines": [
3565
- "unity",
3566
3572
  "unreal"
3567
3573
  ],
3568
3574
  "module": "overview",
3569
- "description": "获取 Overview 报告中指定函数的逐帧曲线数据。Open API 请使用本接口(v1.0.2 预签名,仅 stackMethodId);v1.0.1 直出见 Unity 章节 method/curve。",
3575
+ "description": "获取 UE Overview 报告中指定函数的逐帧曲线数据,包含每帧自身耗时、总耗时、调用次数。返回预签名下载地址,下载后为 JSON 格式。仅适用于 2026-03-25 之后提交的报告,UE 引擎必须指定线程名称。",
3570
3576
  "apiVersions": [
3571
3577
  "v1.0.2"
3572
3578
  ],
3573
- "prerequisite": "stackMethodId 需从函数 idmap 统计或自定义函数组统计数据 2.0获取。",
3579
+ "prerequisite": "使用 stackMethodId:可从函数 idmap 统计(UE)或自定义函数组统计数据 2.0获取 使用 stackMethodName:按名称解析;同名时建议传 id 精确定位",
3574
3580
  "notes": [
3575
3581
  "接口版本需传 v1.0.2(Header x-uwa-api-minor-version)",
3576
- "Open API 仅支持 stackMethodId,不支持 stackMethodName",
3577
- "UE 下 threadName 必传;Unity 无需 threadName",
3582
+ "stackMethodId / stackMethodName 至少传一个;同时传时优先 id",
3583
+ "threadName 必传(含 GameThread)",
3578
3584
  "URL 有效期 600 秒,过期后需重新调用本接口获取新地址",
3579
3585
  "本接口仅支持 2026-03-25 之后提交的报告"
3580
3586
  ],
@@ -3597,20 +3603,27 @@
3597
3603
  {
3598
3604
  "name": "threadName",
3599
3605
  "type": "string",
3600
- "required": true,
3606
+ "required": false,
3601
3607
  "example": "GameThread",
3602
- "description": "UE 必传。Unity 无需此参数"
3608
+ "description": "必传。GameThread、RHIThread、RenderThread、FAsyncLoadingThread "
3603
3609
  },
3604
3610
  {
3605
3611
  "name": "stackMethodId",
3606
3612
  "type": "string",
3607
- "required": true,
3613
+ "required": false,
3608
3614
  "example": "329",
3609
- "description": "函数 ID(Open API 必填)"
3615
+ "description": "函数 ID;与 name 至少传一个,同时传时优先"
3616
+ },
3617
+ {
3618
+ "name": "stackMethodName",
3619
+ "type": "string",
3620
+ "required": false,
3621
+ "example": "Tick_SlateInput",
3622
+ "description": "函数名称;与 id 至少传一个"
3610
3623
  }
3611
3624
  ],
3612
3625
  "body": [],
3613
- "docLine": 7783
3626
+ "docLine": 7837
3614
3627
  }
3615
3628
  ]
3616
3629
  },
@@ -3631,7 +3644,7 @@
3631
3644
  "v1.0.1",
3632
3645
  "v1.0.2"
3633
3646
  ],
3634
- "defaultApiVersion": "v1.0.2",
3647
+ "defaultApiVersion": "v1.0.1",
3635
3648
  "query": [
3636
3649
  {
3637
3650
  "name": "recordId",
@@ -3738,13 +3751,13 @@
3738
3751
  {
3739
3752
  "name": "threadName",
3740
3753
  "type": "string",
3741
- "required": true,
3754
+ "required": false,
3742
3755
  "example": "GameThread",
3743
3756
  "description": "线程名称。UE 必传,可选值:GameThread、RHIThread、RenderThread、FAsyncLoadingThread;Unity 不传时默认主线程"
3744
3757
  }
3745
3758
  ],
3746
3759
  "body": [],
3747
- "docLine": 7651
3760
+ "docLine": 7663
3748
3761
  }
3749
3762
  ]
3750
3763
  },
@@ -3753,7 +3766,7 @@
3753
3766
  "name": "函数 idmap 统计",
3754
3767
  "method": "GET",
3755
3768
  "path": "/openapi/v1/data/gotonline/overview/method/idmap/statistic",
3756
- "summary": "获取全部函数的自身/总耗时/调用次数统计(v1.0.2,不去重)",
3769
+ "summary": "Unity 全部函数统计(v1.0.2,不去重)",
3757
3770
  "engines": [
3758
3771
  "unity",
3759
3772
  "unreal"
@@ -3783,25 +3796,24 @@
3783
3796
  {
3784
3797
  "name": "threadName",
3785
3798
  "type": "string",
3786
- "required": true,
3799
+ "required": false,
3787
3800
  "example": "GameThread",
3788
- "description": "UE 必传。线程名:GameThreadRHIThreadRenderThreadFAsyncLoadingThread"
3801
+ "description": "UE 必传(GameThread / RHIThread / RenderThread / FAsyncLoadingThread 等)。Unity 无需此参数(不传=主线程)"
3789
3802
  }
3790
3803
  ],
3791
3804
  "body": [],
3792
3805
  "returnsPresignUrl": false,
3793
3806
  "variants": [
3794
3807
  {
3795
- "title": "函数 idmap 统计",
3808
+ "title": "函数 idmap 统计(Unity)",
3796
3809
  "docEngines": [
3797
3810
  "unity"
3798
3811
  ],
3799
3812
  "supportedEngines": [
3800
- "unity",
3801
- "unreal"
3813
+ "unity"
3802
3814
  ],
3803
3815
  "module": "overview",
3804
- "description": "返回 id_map / stats_id_map 中全部函数的统计值(selfTimeMean、totalTimeMean、callCountTotal),不去重、不过滤无统计项。适用于需要完整函数列表或按 stackMethodId 拉曲线的场景。SDK 版本需 >= 2.5.1。",
3816
+ "description": "返回 Unity Overview 报告 id_map 中全部函数的统计值(selfTimeMean、totalTimeMean、callCountTotal 等),不去重、不过滤无统计项。适用于需要完整函数列表或按 stackMethodId 拉曲线的场景。SDK 版本需 >= 2.5.1。",
3805
3817
  "apiVersions": [
3806
3818
  "v1.0.2"
3807
3819
  ],
@@ -3812,6 +3824,44 @@
3812
3824
  "逐帧曲线请用 method/curve/presign v1.0.2,传本接口返回的 stackMethodId"
3813
3825
  ],
3814
3826
  "returnRules": [],
3827
+ "query": [
3828
+ {
3829
+ "name": "recordId",
3830
+ "type": "string",
3831
+ "required": false,
3832
+ "example": "1002",
3833
+ "description": "报告 recordId。与 dataKey 二选一"
3834
+ },
3835
+ {
3836
+ "name": "dataKey",
3837
+ "type": "string",
3838
+ "required": false,
3839
+ "example": "testDataKey1",
3840
+ "description": "报告 dataKey。与 recordId 二选一"
3841
+ }
3842
+ ],
3843
+ "body": [],
3844
+ "docLine": 3015
3845
+ },
3846
+ {
3847
+ "title": "函数 idmap 统计(UE)",
3848
+ "docEngines": [
3849
+ "unreal"
3850
+ ],
3851
+ "supportedEngines": [
3852
+ "unreal"
3853
+ ],
3854
+ "module": "overview",
3855
+ "description": "获取 UE Overview 报告中指定线程下全部函数的统计值(自身耗时、总耗时、调用次数等),不去重、不过滤无统计项。仅适用于 2026-03-25 之后提交的报告,UE 引擎必须指定线程名称。",
3856
+ "apiVersions": [
3857
+ "v1.0.2"
3858
+ ],
3859
+ "notes": [
3860
+ "仅适用于 2026-03-25 之后提交的报告",
3861
+ "接口版本须传 v1.0.2;threadName 必传(含 GameThread)",
3862
+ "不同线程需分别调用;后续曲线接口请传相同 threadName"
3863
+ ],
3864
+ "returnRules": [],
3815
3865
  "query": [
3816
3866
  {
3817
3867
  "name": "recordId",
@@ -3830,13 +3880,13 @@
3830
3880
  {
3831
3881
  "name": "threadName",
3832
3882
  "type": "string",
3833
- "required": true,
3883
+ "required": false,
3834
3884
  "example": "GameThread",
3835
- "description": "UE 必传。线程名:GameThread、RHIThread、RenderThread、FAsyncLoadingThread"
3885
+ "description": "必传。GameThread、RHIThread、RenderThread、FAsyncLoadingThread"
3836
3886
  }
3837
3887
  ],
3838
3888
  "body": [],
3839
- "docLine": 3015
3889
+ "docLine": 7795
3840
3890
  }
3841
3891
  ]
3842
3892
  },
@@ -3910,7 +3960,7 @@
3910
3960
  }
3911
3961
  ],
3912
3962
  "body": [],
3913
- "docLine": 4415
3963
+ "docLine": 4427
3914
3964
  }
3915
3965
  ]
3916
3966
  },
@@ -4004,7 +4054,7 @@
4004
4054
  }
4005
4055
  ],
4006
4056
  "body": [],
4007
- "docLine": 4858
4057
+ "docLine": 4870
4008
4058
  }
4009
4059
  ]
4010
4060
  },
@@ -4097,7 +4147,7 @@
4097
4147
  }
4098
4148
  ],
4099
4149
  "body": [],
4100
- "docLine": 4697
4150
+ "docLine": 4709
4101
4151
  }
4102
4152
  ]
4103
4153
  },
@@ -4176,7 +4226,7 @@
4176
4226
  }
4177
4227
  ],
4178
4228
  "body": [],
4179
- "docLine": 4598
4229
+ "docLine": 4610
4180
4230
  }
4181
4231
  ]
4182
4232
  },
@@ -4282,7 +4332,7 @@
4282
4332
  }
4283
4333
  ],
4284
4334
  "body": [],
4285
- "docLine": 4506
4335
+ "docLine": 4518
4286
4336
  }
4287
4337
  ]
4288
4338
  },
@@ -4387,7 +4437,7 @@
4387
4437
  }
4388
4438
  ],
4389
4439
  "body": [],
4390
- "docLine": 3979
4440
+ "docLine": 3991
4391
4441
  }
4392
4442
  ]
4393
4443
  },
@@ -4494,7 +4544,7 @@
4494
4544
  }
4495
4545
  ],
4496
4546
  "body": [],
4497
- "docLine": 4777
4547
+ "docLine": 4789
4498
4548
  }
4499
4549
  ]
4500
4550
  },
@@ -4599,7 +4649,7 @@
4599
4649
  }
4600
4650
  ],
4601
4651
  "body": [],
4602
- "docLine": 3873
4652
+ "docLine": 3885
4603
4653
  }
4604
4654
  ]
4605
4655
  },
@@ -4719,7 +4769,7 @@
4719
4769
  }
4720
4770
  ],
4721
4771
  "body": [],
4722
- "docLine": 7227
4772
+ "docLine": 7239
4723
4773
  }
4724
4774
  ]
4725
4775
  },
@@ -4856,7 +4906,7 @@
4856
4906
  }
4857
4907
  ],
4858
4908
  "body": [],
4859
- "docLine": 7084
4909
+ "docLine": 7096
4860
4910
  }
4861
4911
  ]
4862
4912
  },
@@ -4895,16 +4945,16 @@
4895
4945
  {
4896
4946
  "name": "sampleId",
4897
4947
  "type": "integer",
4898
- "required": true,
4948
+ "required": false,
4899
4949
  "example": "42",
4900
- "description": "结点 id。UE 必传。Unity 不传则返回全帧聚合曲线"
4950
+ "description": "结点 id。UE 必传。Unity 不传则返回全帧聚合曲线(仅主线程)"
4901
4951
  },
4902
4952
  {
4903
4953
  "name": "threadId",
4904
4954
  "type": "string",
4905
- "required": true,
4955
+ "required": false,
4906
4956
  "example": "GameThread",
4907
- "description": "UE 必传。Unity 忽略"
4957
+ "description": "UE 必传。Unity:不传 = 主线程;传子线程 id/名 = 该子线程结点曲线(须同时传 sampleId)"
4908
4958
  }
4909
4959
  ],
4910
4960
  "body": [],
@@ -4945,20 +4995,20 @@
4945
4995
  {
4946
4996
  "name": "sampleId",
4947
4997
  "type": "integer",
4948
- "required": true,
4998
+ "required": false,
4949
4999
  "example": "42",
4950
- "description": "结点 id。UE 必传。Unity 不传则返回全帧聚合曲线"
5000
+ "description": "结点 id。UE 必传。Unity 不传则返回全帧聚合曲线(仅主线程)"
4951
5001
  },
4952
5002
  {
4953
5003
  "name": "threadId",
4954
5004
  "type": "string",
4955
- "required": true,
5005
+ "required": false,
4956
5006
  "example": "GameThread",
4957
- "description": "UE 必传。Unity 忽略"
5007
+ "description": "UE 必传。Unity:不传 = 主线程;传子线程 id/名 = 该子线程结点曲线(须同时传 sampleId)"
4958
5008
  }
4959
5009
  ],
4960
5010
  "body": [],
4961
- "docLine": 3117
5011
+ "docLine": 3124
4962
5012
  }
4963
5013
  ]
4964
5014
  },
@@ -5041,7 +5091,7 @@
5041
5091
  }
5042
5092
  ],
5043
5093
  "body": [],
5044
- "docLine": 5323
5094
+ "docLine": 5335
5045
5095
  },
5046
5096
  {
5047
5097
  "title": "获取卡顿帧列表",
@@ -5086,7 +5136,7 @@
5086
5136
  }
5087
5137
  ],
5088
5138
  "body": [],
5089
- "docLine": 7974
5139
+ "docLine": 8032
5090
5140
  }
5091
5141
  ]
5092
5142
  },
@@ -5167,7 +5217,7 @@
5167
5217
  }
5168
5218
  ],
5169
5219
  "body": [],
5170
- "docLine": 5435
5220
+ "docLine": 5447
5171
5221
  },
5172
5222
  {
5173
5223
  "title": "获取卡顿帧汇总堆栈树",
@@ -5210,7 +5260,7 @@
5210
5260
  }
5211
5261
  ],
5212
5262
  "body": [],
5213
- "docLine": 8082
5263
+ "docLine": 8140
5214
5264
  }
5215
5265
  ]
5216
5266
  },
@@ -5305,7 +5355,7 @@
5305
5355
  }
5306
5356
  ],
5307
5357
  "body": [],
5308
- "docLine": 5530
5358
+ "docLine": 5542
5309
5359
  },
5310
5360
  {
5311
5361
  "title": "获取指定场景卡顿帧汇总堆栈树",
@@ -5355,7 +5405,7 @@
5355
5405
  }
5356
5406
  ],
5357
5407
  "body": [],
5358
- "docLine": 8173
5408
+ "docLine": 8231
5359
5409
  }
5360
5410
  ]
5361
5411
  },
@@ -5364,7 +5414,7 @@
5364
5414
  "name": "指定帧堆栈树",
5365
5415
  "method": "GET",
5366
5416
  "path": "/openapi/v1/data/gotonline/overview/stack/tree/frame/presign",
5367
- "summary": "获取指定帧的调用堆栈树(预签名)",
5417
+ "summary": "Unity 指定帧调用堆栈树(预签名)",
5368
5418
  "engines": [
5369
5419
  "unity",
5370
5420
  "unreal"
@@ -5401,25 +5451,24 @@
5401
5451
  {
5402
5452
  "name": "threadId",
5403
5453
  "type": "string",
5404
- "required": true,
5405
- "example": "GameThread",
5406
- "description": "UE 必传(线程 id 或线程名)。Unity 主线程可不传"
5454
+ "required": false,
5455
+ "example": "4261395632",
5456
+ "description": "UE 必传(线程 id 或线程名,含 GameThread)。Unity:不传=主线程;传子线程 id/名=该子线程指定帧树"
5407
5457
  }
5408
5458
  ],
5409
5459
  "body": [],
5410
5460
  "returnsPresignUrl": true,
5411
5461
  "variants": [
5412
5462
  {
5413
- "title": "指定帧堆栈树",
5463
+ "title": "指定帧堆栈树(Unity)",
5414
5464
  "docEngines": [
5415
5465
  "unity"
5416
5466
  ],
5417
5467
  "supportedEngines": [
5418
- "unity",
5419
- "unreal"
5468
+ "unity"
5420
5469
  ],
5421
5470
  "module": "overview",
5422
- "description": "获取指定帧的函数调用堆栈树。返回 OSS 预签名地址,下载后为 gzip 压缩的树结构文件(与面板 stack/tree/frame 同源)。",
5471
+ "description": "获取指定帧的函数调用堆栈树。返回 OSS 预签名地址,下载后为 gzip 压缩的树结构文件。完整说明见 指定帧堆栈树(Unity);UE 见 指定帧堆栈树(UE)。",
5423
5472
  "apiVersions": [
5424
5473
  "v1.0.1"
5425
5474
  ],
@@ -5451,13 +5500,13 @@
5451
5500
  {
5452
5501
  "name": "threadId",
5453
5502
  "type": "string",
5454
- "required": true,
5455
- "example": "GameThread",
5456
- "description": "UE 必传(线程 id 或线程名)。Unity 主线程可不传"
5503
+ "required": false,
5504
+ "example": "4261395632",
5505
+ "description": "不传 = 主线程;传子线程 id/名 = 该子线程指定帧树(见线程 idmap)"
5457
5506
  }
5458
5507
  ],
5459
5508
  "body": [],
5460
- "docLine": 3081
5509
+ "docLine": 3088
5461
5510
  }
5462
5511
  ]
5463
5512
  },
@@ -5532,7 +5581,7 @@
5532
5581
  }
5533
5582
  ],
5534
5583
  "body": [],
5535
- "docLine": 4979
5584
+ "docLine": 4991
5536
5585
  }
5537
5586
  ]
5538
5587
  },
@@ -5716,7 +5765,7 @@
5716
5765
  }
5717
5766
  ],
5718
5767
  "body": [],
5719
- "docLine": 6554
5768
+ "docLine": 6566
5720
5769
  }
5721
5770
  ]
5722
5771
  },