Moonbox关于修改jvm-sandbox内容说明
本issue把moonbox修改的jvm-sandbox内容的地方加以说明。 便于后续使用的同学理解。 附:修改的内容基于/local-agent/sandbox-stable-bin.tar 反编译后的理解描述
启动参数修改
moonbox比着原生jvm-sandbox启动参数增加了-T的参数。 在sandbox.sh脚本中,把-T参数内容传递到task.config变量中。 这个参数的内容包含:
- 日志级别
- 任务id信息
- 控制台的地址信息。
获取task.config参数
jvm-sandbox内部的jetty启动后,会把所有的变量存入到com.alibaba.jvm.sandbox.core.CoreConfigure#featureMap中 包括task.config变量。 要在CoreConfigure类中增加获取task.config的方法
把task.config拼接到通用的参数中,便于moonbox的agent获取
通用参数拼接的地方在:com.alibaba.jvm.sandbox.agent.AgentLauncher#toFeatureString 需要在这个参数的末尾中增加task.config数据
getTaskConfig的方法内容如下:
以上均为moonbox对jvm-sandbox中参数获取修改的内容。
其他两处修改
- 修改了日志文件加载,便于基于控制台控制日志输出级别。
- 增加了SystemModifierUtil类,便于对时间戳进行mock
如果对这两处修改感兴趣的话,可以进群,一起讨论下修改的内容
修改后的启动命令参考: sh sandbox.sh -p 47569 -P 8820 -T rc_id_66b5d814c40fc2b68bf457ae28ce3a04&http://xxx&INFO&INFO