Files
netease-modsdk-wiki/docs/mcdocs/1-ModAPI/接口/通用/调试.md
2025-03-18 14:46:12 +08:00

1083 lines
30 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
sidebarDepth: 1
---
# 调试
## GetEnableReconnectNetgame
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.extraClientApi
- 描述
获取是否允许断线重连
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否允许断线重连 |
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.GetEnableReconnectNetgame()
```
## GetKeepResourceWhenTransfer
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.extraClientApi
- 描述
获取快速切服设置
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否设置快速切服 |
- 示例
```python
# 先打开快速切服开关
import mod.client.extraClientApi as clientApi
print clientApi.GetKeepResourceWhenTransfer()
```
## GetMcpModLogCanPostDump
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
获取是否可以打印错误信息到McpModLog日志。
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | canPost 是否可以打印 |
- 备注
- McpModLog日志包括开发者组件的错误信息不包括引擎错误信息存在手机端本地。每个McpModLog日志只针对调用该接口的Mcp生效最多可以保留7天的日志可在开发者后台查看打印接口默认关闭。
- 此接口在联机大厅等服务器环境下无效,服务端接口只对单机和本地联机房主生效。
- Mcp指手机端组件中行为包路径下每个包含modMain.py脚本的文件夹所构成的代码模块一个组件可以有多个Mcp模块接口调用时会自动获取Mcp信息不需要传入。
- 请引导玩家在反馈模组问题时勾选“同步上传7天内日志”后在开发者平台下载并查看。
- 示例
```python
import mod.server.extraServerApi as serverApi
print(serverApi.GetMcpModLogCanPostDump())
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
获取是否可以打印错误信息到McpModLog日志。
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | canPost 是否可以打印 |
- 备注
- McpModLog日志包括开发者组件的错误信息不包括引擎错误信息存在手机端本地。每个McpModLog日志只针对调用该接口的Mcp生效最多可以保留7天的日志可在开发者后台查看打印接口默认关闭。
- Mcp指手机端组件中行为包路径下每个包含modMain.py脚本的文件夹所构成的代码模块一个组件可以有多个Mcp模块接口调用时会自动获取Mcp信息不需要传入。
- 请引导玩家在反馈模组问题时勾选“同步上传7天内日志”后在开发者平台下载并查看。
- 示例
```python
import mod.client.extraClientApi as clientApi
print(clientApi.GetMcpModLogCanPostDump())
```
## GetResourceFastload
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.extraClientApi
- 描述
获取资源快速加载设置
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否开启资源快速加载 |
- 示例
```python
import mod.client.extraClientApi as clientApi
print clientApi.GetResourceFastload()
```
## PostMcpModDump
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
主动打印信息到McpModLog日志需要先调用 SetMcpModLogCanPostDump 接口进行设置,才能生效。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| msg | str | 错误信息 |
| *args | any | 此参数将作为可变参数传入 logger.error |
| **kwargs | dict | 此参数将作为关键字参数传入 logger.error |
- 返回值
- 备注
- McpModLog日志包括开发者组件的错误信息不包括引擎错误信息存在手机端本地。每个McpModLog日志只针对调用该接口的Mcp生效最多可以保留7天的日志可在开发者后台查看打印接口默认关闭。
- 此接口在联机大厅等服务器环境下无效,服务端接口只对单机和本地联机房主生效。
- Mcp指手机端组件中行为包路径下每个包含modMain.py脚本的文件夹所构成的代码模块一个组件可以有多个Mcp模块接口调用时会自动获取Mcp信息不需要传入。
- 请引导玩家在反馈模组问题时勾选“同步上传7天内日志”后在开发者平台下载并查看。
- 示例
```python
import mod.server.extraServerApi as serverApi
serverApi.PostMcpModDump('Test Msg')
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
主动打印信息到McpModLog日志需要先调用 SetMcpModLogCanPostDump 接口进行设置,才能生效。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| msg | str | 错误信息 |
| *args | any | 此参数将作为可变参数传入 logger.error |
| **kwargs | dict | 此参数将作为关键字参数传入 logger.error |
- 返回值
- 备注
- McpModLog日志包括开发者组件的错误信息不包括引擎错误信息存在手机端本地。每个McpModLog日志只针对调用该接口的Mcp生效最多可以保留7天的日志可在开发者后台查看打印接口默认关闭。
- Mcp指手机端组件中行为包路径下每个包含modMain.py脚本的文件夹所构成的代码模块一个组件可以有多个Mcp模块接口调用时会自动获取Mcp信息不需要传入。
- 请引导玩家在反馈模组问题时勾选“同步上传7天内日志”后在开发者平台下载并查看。
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.PostMcpModDump('Test Msg')
```
## ReloadAllMaterials
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.extraClientApi
- 描述
重新加载所有材质文件
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.ReloadAllMaterials()
```
## ReloadAllShaders
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.extraClientApi
- 描述
重新加载所有Shader文件
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否成功 |
- 备注
- 若修改到材质建议使用ReloadAllMaterials方法。
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.ReloadAllShaders()
```
## ReloadOneShader
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.extraClientApi
- 描述
重新加载某个Shader文件
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| shaderName | str | shader名称 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否成功 |
- 备注
- 若同时修改了多个Shader建议使用ReloadAllShaders方法。
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.ReloadOneShader("entity.fragment")
```
## SetEnableReconnectNetgame
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.extraClientApi
- 描述
设置是否允许断线重连
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| keep | bool | 是否允许断线重连 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.SetEnableReconnectNetgame(True)
```
## SetKeepResourceWhenTransfer
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.extraClientApi
- 描述
设置快速切服
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| keep | bool | 是否在切服时保留资源,True为保留资源,False为不保留资源 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否成功 |
- 备注
- 快速切服通过在切服时保留资源实现,可以缩短切服等待时间。
- 切服前后的两个服,需要保证资源完全一样。
- 快速切服设置在退出游戏之前一直有效如果要切到其他类型的服务器需要在切服前调用clientApi.SetKeepResourceWhenTransfer(False)
- 示例
```python
# 先打开快速切服开关
import mod.client.extraClientApi as clientApi
clientApi.SetKeepResourceWhenTransfer(True)
# 然后切服
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.TransferToOtherServer('123', 'game')
```
## SetMcpModLogCanPostDump
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
设置是否可以打印错误信息到McpModLog日志。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| canPost | bool | 是否可以打印 |
- 返回值
- 备注
- McpModLog日志包括开发者组件的错误信息不包括引擎错误信息存在手机端本地。每个McpModLog日志只针对调用该接口的Mcp生效最多可以保留7天的日志可在开发者后台查看打印接口默认关闭。
- 此接口在联机大厅等服务器环境下无效,服务端接口只对单机和本地联机房主生效。
- Mcp指手机端组件中行为包路径下每个包含modMain.py脚本的文件夹所构成的代码模块一个组件可以有多个Mcp模块接口调用时会自动获取Mcp信息不需要传入。
- 请引导玩家在反馈模组问题时勾选“同步上传7天内日志”后在开发者平台下载并查看。
- 示例
```python
import mod.server.extraServerApi as serverApi
serverApi.SetMcpModLogCanPostDump(True)
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
设置是否可以打印错误信息到McpModLog日志。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| canPost | bool | 是否可以打印 |
- 返回值
- 备注
- McpModLog日志包括开发者组件的错误信息不包括引擎错误信息存在手机端本地。每个McpModLog日志只针对调用该接口的Mcp生效最多可以保留7天的日志可在开发者后台查看打印接口默认关闭。
- Mcp指手机端组件中行为包路径下每个包含modMain.py脚本的文件夹所构成的代码模块一个组件可以有多个Mcp模块接口调用时会自动获取Mcp信息不需要传入。
- 请引导玩家在反馈模组问题时勾选“同步上传7天内日志”后在开发者平台下载并查看。
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.SetMcpModLogCanPostDump(True)
```
## SetResourceFastload
<span style="display:inline;color:#7575f9">客户端</span>
method in mod.client.extraClientApi
- 描述
设置资源快速加载
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| fastload | bool | 是否在进入游戏时快速加载资源,True为快速加载资源,False为不快速加载资源 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 是否成功 |
- 备注
- 开启资源快速加载,可以缩短切服等待时间。
- 开启资源快速加载切服速度比设置SetKeepResourceWhenTransfer慢但不要求切服前后两个服资源完全一致。
- 物品和方块的自定义贴图需要定义在item_texture.json和terrain_texture.json中才能开启资源快速加载
- 设置资源快速加载在退出游戏之前一直有效退出游戏后自动恢复为False
- 示例
```python
# 先设置资源快速加载
import mod.client.extraClientApi as clientApi
clientApi.SetResourceFastload(True)
# 然后切服
import lobbyGame.netgameApi as lobbyGameApi
lobbyGameApi.TransferToOtherServer('123', 'game')
```
## StartMemProfile
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
开始启动服务端脚本内存分析,启动后调用[StopMemProfile](#stopMemProfile)即可在路径fileName生成函数内存火焰图此接口只支持PC端。生成的火焰图可以用浏览器打开推荐chrome浏览器。
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 备注
- 由于分析时并不区分服务端和客户端在进行分析时只需要其中一端startmemprofile和stopmemprofile即可,无需双端同时进行。
- 将鼠标放在一个函数块上时,下方会显示当前函数对应的详细信息,具体含义可见<a href="../../../../mcguide/27-网络游戏/课程8性能优化/第1节插件调试小技巧.html#获取性能分析火焰图">获取性能分析火焰图</a>
- 示例
```python
import mod.server.extraServerApi as serverApi
serverApi.StartMemProfile()
modfunc()# 处理对应的逻辑
# 之后通过计时器或者其他触发方式调用StopMemProfile
serverApi.StopMemProfile(fileName)
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
开始启动客户端脚本内存分析,启动后调用[StopMemProfile](#stopMemProfile)即可在路径fileName生成函数内存火焰图此接口只支持PC端。生成的火焰图可以用浏览器打开推荐chrome浏览器。
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 备注
- 由于分析时并不区分服务端和客户端在进行分析时只需要其中一端startmemprofile和stopmemprofile即可,无需双端同时进行。
- 将鼠标放在一个函数块上时,下方会显示当前函数对应的详细信息,具体含义可见<a href="../../../../mcguide/27-网络游戏/课程8性能优化/第1节插件调试小技巧.html#获取性能分析火焰图">获取性能分析火焰图</a>
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.StartMemProfile()
modfunc()# 处理对应的逻辑
# 之后通过计时器或者其他触发方式调用StopMemProfile
clientApi.StopMemProfile(fileName)
```
## StartMultiProfile
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
开始启动服务端与客户端双端脚本性能分析,启动后调用[StopMultiProfile](#stopmultiprofile)即可在路径fileName生成函数性能火焰图。双端采集时数据误差较大建议优先使用[StartProfile](#startprofile)单端版本此接口只支持PC端
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 示例
```python
import mod.server.extraServerApi as serverApi
serverApi.StartMultiProfile()
modfunc()# 处理对应的逻辑
# 之后通过计时器或者其他触发方式调用StopMultiProfile
serverApi.StopMultiProfile()
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
开始启动服务端与客户端双端脚本性能分析,启动后调用[StopMultiProfile](#stopmultiprofile)即可在路径fileName生成函数性能火焰图。双端采集时数据误差较大建议优先使用[StartProfile](#startprofile)单端版本此接口只支持PC端
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.StartMultiProfile()
modfunc()# 处理对应的逻辑
# 之后通过计时器或者其他触发方式调用StopMultiProfile
clientApi.StopMultiProfile()
```
## StartProfile
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
开始启动服务端脚本性能分析,启动后调用[StopProfile](#stopprofile)即可在路径fileName生成函数性能火焰图此接口只支持PC端。生成的火焰图可以用浏览器打开推荐chrome浏览器。
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 备注
- 火焰图主页面示例:<br>![火焰图示意图](../../picture/flameGraph_mainPage.png)
- 如火焰图所示,竖直方向表示调用栈,每一层都是一个函数。调用栈越深,火焰就越高,顶部就是正在执行的函数,下方都是它的父函数。分析性能时主要看火焰图的宽度(其中颜色没有特别意义),火焰图越宽,表示该函数对整体性能的消耗越大。因此需要对该函数进行优化。
- 将鼠标放在一个函数块上时,下方会显示当前函数对应的详细信息,具体含义可见<a href="../../../../mcguide/27-网络游戏/课程8性能优化/第1节插件调试小技巧.html#获取性能分析火焰图">获取性能分析火焰图</a>
- 优化的核心主要是减少调用次数以及优化函数的写法。其中对于开发者而言只需要关注开发者开发的代码即可对于部分函数调用到mod框架或者引擎顶层框架进而导致性能消耗较大的可以尝试通过减少调用次数来进行优化。
- 另外火焰图支持通过右上方的Search框或者“F3”快捷键对函数关键词进行搜索。同时可以点击函数缩放查看对应的调用栈。
- 示例
```python
import mod.server.extraServerApi as serverApi
serverApi.StartProfile()
modfunc()# 处理对应的逻辑
# 之后通过计时器或者其他触发方式调用StopProfile
serverApi.StopProfile()
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
开始启动客户端脚本性能分析,启动后调用[StopProfile](#stopprofile)即可在路径fileName生成函数性能火焰图此接口只支持PC端。生成的火焰图可以用浏览器打开推荐chrome浏览器。
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 备注
- 火焰图主页面示例:<br>![火焰图示意图](../../picture/flameGraph_mainPage.png)
- 如火焰图所示,竖直方向表示调用栈,每一层都是一个函数。调用栈越深,火焰就越高,顶部就是正在执行的函数,下方都是它的父函数。分析性能时主要看火焰图的宽度(其中颜色没有特别意义),火焰图越宽,表示该函数对整体性能的消耗越大。因此需要对该函数进行优化。
- 将鼠标放在一个函数块上时,下方会显示当前函数对应的详细信息,具体含义可见<a href="../../../../mcguide/27-网络游戏/课程8性能优化/第1节插件调试小技巧.html#获取性能分析火焰图">获取性能分析火焰图</a>
- 优化的核心主要是减少调用次数以及优化函数的写法。其中对于开发者而言只需要关注开发者开发的代码即可对于部分函数调用到mod框架或者引擎顶层框架进而导致性能消耗较大的可以尝试通过减少调用次数来进行优化。
- 另外火焰图支持通过右上方的Search框或者“F3”快捷键对函数关键词进行搜索。同时可以点击函数缩放查看对应的调用栈。
- 上架时请去掉这个接口的调用
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.StartProfile()
modfunc()# 处理对应的逻辑
# 之后通过计时器或者其他触发方式调用StopProfile
clientApi.StopProfile()
```
## StartRecordEvent
<span style="display:inline;color:#ff5555">仅Apollo可用</span>
method in mod.server.extraServerApi
- 描述
开始启动服务端与客户端之间的脚本事件收发统计,启动后调用[StopRecordEvent](#stoprecordevent)即可获取两个函数调用之间脚本事件收发的统计信息仅支持租赁服与Apollo网络服环境不支持单机环境
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 示例
```python
import mod.server.extraServerApi as serverApi
suc = serverApi.StartRecordEvent()
# 之后通过计时器或者其他触发方式调用StopRecordEvent
result = serverApi.StopRecordEvent()
for eventName, data in result.iteritems():
print "event[{}] send={} sendSize={} recv={} recvSize={}".format(eventName, data["send_num"], data["send_size"], data["recv_num"], data["recv_size"])
```
## StartRecordPacket
<span style="display:inline;color:#ff5555">仅Apollo可用</span>
method in mod.server.extraServerApi
- 描述
开始启动服务端与客户端之间的引擎收发包统计,启动后调用[StopRecordPacket](#stoprecordpacket)即可获取两个函数调用之间引擎收发包的统计信息仅支持租赁服与Apollo网络服环境不支持单机环境
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 示例
```python
import mod.server.extraServerApi as serverApi
suc = serverApi.StartRecordPacket()
# 之后通过计时器或者其他触发方式调用StopRecordPacket
result = serverApi.StopRecordPacket()
for packetName, data in result.iteritems():
print "packet[{}] send={} sendSize={} recv={} recvSize={}".format(packetName, data["send_num"], data["send_size"], data["recv_num"], data["recv_size"])
```
## StopMemProfile
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
停止服务端脚本内存分析并生成火焰图,与[StartMemProfile](#startMemProfile)配合使用此接口只支持PC端
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| fileName | str | 具体路径相对于PC开发包的路径默认为"flamegraph.svg"位于PC开发包目录下自定义路径请确保文件后缀名为".svg" |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 示例
```python
import mod.server.extraServerApi as serverApi
serverApi.StartMemProfile()
modfunc()# 处理对应的逻辑
# 之后通过计时器或者其他触发方式调用StopMemProfile
serverApi.StopMemProfile(fileName)
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
停止客户端脚本内存分析并生成火焰图,与[StartMemProfile](#startMemProfile)配合使用此接口只支持PC端
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| fileName | str | 具体路径相对于PC开发包的路径默认为"flamegraph.svg"位于PC开发包目录下自定义路径请确保文件后缀名为".svg" |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.StartMemProfile()
modfunc()# 处理对应的逻辑
# 之后通过计时器或者其他触发方式调用StopMemProfile
clientApi.StopMemProfile(fileName)
```
## StopMultiProfile
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
停止双端脚本性能分析并生成火焰图,与[StartMultiProfile](#startmultiprofile)配合使用此接口只支持PC端
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| fileName | str | 具体路径相对于PC开发包的路径默认为"flamegraph.svg"位于PC开发包目录下自定义路径请确保文件后缀名为".svg" |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 示例
```python
import mod.server.extraServerApi as serverApi
serverApi.StartMultiProfile()
modfunc()# 处理对应的逻辑
# 之后通过计时器或者其他触发方式调用StopMultiProfile
serverApi.StopMultiProfile()
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
停止双端脚本性能分析并生成火焰图,与[StartMultiProfile](#startmultiprofile)配合使用此接口只支持PC端
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| fileName | str | 具体路径相对于PC开发包的路径默认为"flamegraph.svg"位于PC开发包目录下自定义路径请确保文件后缀名为".svg" |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.StartMultiProfile()
modfunc()# 处理对应的逻辑
# 之后通过计时器或者其他触发方式调用StopMultiProfile
clientApi.StopMultiProfile()
```
## StopProfile
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
停止服务端脚本性能分析并生成火焰图,与[StartProfile](#startprofile)配合使用此接口只支持PC端
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| fileName | str | 具体路径相对于PC开发包的路径默认为"flamegraph.svg"位于PC开发包目录下自定义路径请确保文件后缀名为".svg" |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 示例
```python
import mod.server.extraServerApi as serverApi
serverApi.StartProfile()
modfunc()# 处理对应的逻辑
# 之后通过计时器或者其他触发方式调用StopProfile
serverApi.StopProfile()
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
停止客户端脚本性能分析并生成火焰图,与[StartProfile](#startprofile)配合使用此接口只支持PC端
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| fileName | str | 具体路径相对于PC开发包的路径默认为"flamegraph.svg"位于PC开发包目录下自定义路径请确保文件后缀名为".svg" |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| bool | 执行结果 |
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.StartProfile()
modfunc()# 处理对应的逻辑
# 之后通过计时器或者其他触发方式调用StopProfile
clientApi.StopProfile()
```
## StopRecordEvent
<span style="display:inline;color:#ff5555">仅Apollo可用</span>
method in mod.server.extraServerApi
- 描述
停止服务端与客户端之间的脚本事件收发统计并输出结果,与[StartRecordEvent](#startrecordevent)配合使用输出结果为字典key为网络包名value字典中记录收发信息具体见示例仅支持租赁服与Apollo网络服环境不支持单机环境
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| dict | 收发包信息假如没有调用过StartRecordEvent则返回为None |
- 示例
```python
import mod.server.extraServerApi as serverApi
suc = serverApi.StartRecordEvent()
# 之后通过计时器或者其他触发方式调用StopRecordEvent
result = serverApi.StopRecordEvent()
for eventName, data in result.iteritems():
print "event[{}] send={} sendSize={} recv={} recvSize={}".format(eventName, data["send_num"], data["send_size"], data["recv_num"], data["recv_size"])
```
## StopRecordPacket
<span style="display:inline;color:#ff5555">仅Apollo可用</span>
method in mod.server.extraServerApi
- 描述
停止服务端与客户端之间的引擎收发包统计并输出结果,与[StartRecordPacket](#startrecordpacket)配合使用输出结果为字典key为网络包名value字典中记录收发信息具体见示例仅支持租赁服与Apollo网络服环境不支持单机环境
- 参数
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| dict | 收发包信息假如没有调用过StartRecordPacket则返回为None |
- 示例
```python
import mod.server.extraServerApi as serverApi
suc = serverApi.StartRecordPacket()
# 之后通过计时器或者其他触发方式调用StopRecordPacket
result = serverApi.StopRecordPacket()
for packetName, data in result.iteritems():
print "packet[{}] send={} sendSize={} recv={} recvSize={}".format(packetName, data["send_num"], data["send_size"], data["recv_num"], data["recv_size"])
```