fix(telemetry): 🔧 修复遥测数据环境ID获取逻辑 #109
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
问题描述
当用户通过
createCloudBaseMcpServer
的cloudBaseOptions
传入envId
时,遥测数据上报仍然只从环境变量获取环境ID,导致上报数据不准确。解决方案
采用参数传递方案,通过修改工具包装器将服务器配置传递给遥测上报函数:
修改遥测上报函数接口
reportToolCall
和reportToolkitLifecycle
添加cloudBaseOptions
可选参数修改工具包装器
createWrappedHandler
函数,添加cloudBaseOptions
参数wrapServerWithTelemetry
函数,传递服务器配置保持向后兼容性
测试验证
相关文件
mcp/src/utils/telemetry.ts
- 遥测上报函数mcp/src/utils/tool-wrapper.ts
- 工具包装器mcp/src/server.ts
- 服务器创建逻辑mcp/tests/telemetry-envid.test.js
- 单元测试变更类型