MoonBox icon indicating copy to clipboard operation
MoonBox copied to clipboard

Moonbox关于修改jvm-sandbox内容说明

Open liuzhelucky opened this issue 3 months ago • 3 comments

本issue把moonbox修改的jvm-sandbox内容的地方加以说明。 便于后续使用的同学理解。 附:修改的内容基于/local-agent/sandbox-stable-bin.tar 反编译后的理解描述

liuzhelucky avatar Oct 27 '25 12:10 liuzhelucky

启动参数修改

moonbox比着原生jvm-sandbox启动参数增加了-T的参数。 在sandbox.sh脚本中,把-T参数内容传递到task.config变量中。 这个参数的内容包含:

  1. 日志级别
  2. 任务id信息
  3. 控制台的地址信息。
Image Image

获取task.config参数

jvm-sandbox内部的jetty启动后,会把所有的变量存入到com.alibaba.jvm.sandbox.core.CoreConfigure#featureMap中 包括task.config变量。 要在CoreConfigure类中增加获取task.config的方法

Image

把task.config拼接到通用的参数中,便于moonbox的agent获取

通用参数拼接的地方在:com.alibaba.jvm.sandbox.agent.AgentLauncher#toFeatureString 需要在这个参数的末尾中增加task.config数据

Image

getTaskConfig的方法内容如下:

Image

liuzhelucky avatar Oct 27 '25 12:10 liuzhelucky

以上均为moonbox对jvm-sandbox中参数获取修改的内容。

其他两处修改

  1. 修改了日志文件加载,便于基于控制台控制日志输出级别。
  2. 增加了SystemModifierUtil类,便于对时间戳进行mock

如果对这两处修改感兴趣的话,可以进群,一起讨论下修改的内容

liuzhelucky avatar Oct 27 '25 12:10 liuzhelucky

修改后的启动命令参考: sh sandbox.sh -p 47569 -P 8820 -T rc_id_66b5d814c40fc2b68bf457ae28ce3a04&http://xxx&INFO&INFO

liuzhelucky avatar Oct 27 '25 12:10 liuzhelucky