Debug Point
Debug point is used in code test. When enabling a debug point, it can run related code.
Both FE and BE support debug points.
Code Example
FE example
1. private Status foo() {
2. // dbug_fe_foo_do_nothing is the debug point name.
3. // When it's active,DebugPointUtil.isEnable("dbug_fe_foo_do_nothing") will return true.
4. if (DebugPointUtil.isEnable("dbug_fe_foo_do_nothing")) {
5. return Status.Nothing;
6. }
8. do_foo_action();
10. return Status.Ok;
11. }
BE 桩子示例代码
1. void Status foo() {
2. // dbug_be_foo_do_nothing is the debug point name.
3. // When it's active,DEBUG_EXECUTE_IF will execute the code block.
4. DEBUG_EXECUTE_IF("dbug_be_foo_do_nothing", { return Status.Nothing; });
6. do_foo_action();
8. return Status.Ok;
9. }
Global config
To activate debug points, need set enable_debug_points to true.
enable_debug_points was located in FE’s fe.conf and BE’s be.conf。
Enable Debug Point
API
1. POST /api/debug_point/add/{debug_point_name}[?timeout=<int>&execute=<int>]
Query Parameters
debug_point_nameDebug point name. Require.timeoutTimeout in seconds. When timeout, the debug point will be disable. Default is -1, not timeout. Optional.executeMax active times。Default is -1, unlimit active times. Optional.
Request body
None
Response
1. ```
2. {
3. msg: "OK",
4. code: 0
5. }
6. ```
Examples
Enable debug point foo, activate no more than five times.
1. ```
2. curl -X POST "http://127.0.0.1:8030/api/debug_point/add/foo?execute=5"
4. ```
Disable Debug Point
API
1. POST /api/debug_point/remove/{debug_point_name}
Query Parameters
debug_point_nameDebug point name. Require.
Request body
None
Response
1. {
2. msg: "OK",
3. code: 0
4. }
Examples
Disable debug point foo。
1. ```
2. curl -X POST "http://127.0.0.1:8030/api/debug_point/remove/foo"
4. ```
Clear Debug Points
API
1. POST /api/debug_point/clear
Request body
None
Response
1. ```
2. {
3. msg: "OK",
4. code: 0
5. }
6. ```
Examples
1. ```
2. curl -X POST "http://127.0.0.1:8030/api/debug_point/clear"
3. ```
