Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ARTHAS_SSH_HOST | No | Remote host to connect to (format: user@remote-host) | |
| ARTHAS_SSH_PORT | No | SSH port for the remote connection | 22 |
| ARTHAS_SSH_PASSWORD | No | Password for SSH authentication if using password authentication |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_java_processes | 列出所有Java进程 Returns:
List[Dict[str, str]]: 包含Java进程信息的列表,每个进程包含以下字段:
- pid (str): 进程ID
- name (str): 进程名称
- args (str): 进程参数
|
| get_thread_info | 获取指定进程的线程信息 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")。
支持十进制和十六进制格式。
空字符串将返回错误信息。
Returns:
Dict: 包含线程信息的字典,包含以下字段:
- threads (List[Dict]): 线程信息列表
- thread_count (int): 线程数量
- raw_output (str): 原始输出
- timestamp (float): 时间戳
- success (bool): 是否成功
- error (Optional[str]): 错误信息
|
| get_jvm_info | 获取JVM基础信息 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")。
支持十进制和十六进制格式。
空字符串将返回错误信息。
Returns:
Dict: 包含JVM信息的字典,包含以下字段:
- raw_output (str): 原始输出
- timestamp (float): 时间戳
- success (bool): 是否成功
- error (Optional[str]): 错误信息
|
| get_memory_info | 获取内存使用情况 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")。
支持十进制和十六进制格式。
空字符串将返回错误信息。
Returns:
Dict: 包含内存信息的字典,包含以下字段:
- raw_output (str): 原始输出
- timestamp (float): 时间戳
- success (bool): 是否成功
- error (Optional[str]): 错误信息
|
| get_stack_trace | 获取线程堆栈信息 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")
thread_id (str): 线程ID,使用字符串形式。支持十六进制(如:"0x2c03")
top_n (str): 显示前N个线程,使用字符串形式(如:"5"),默认值为"5"
find_blocking (bool): 是否只查找阻塞线程(BLOCKED状态或等待锁的线程)
interval (str): 采样间隔,使用字符串形式(如:"1000"表示1秒)
show_all (bool): 是否显示所有信息
Returns:
Dict: 包含线程堆栈信息的字典,包含以下字段:
- threads (List[Dict]): 线程信息列表
- thread_count (int): 线程数量
- raw_output (str): 原始输出
- timestamp (float): 时间戳
- success (bool): 是否成功
- error (Optional[str]): 错误信息
|
| get_class_info | 获取类信息 - 使用jmap -histo和javap命令获取完整的类信息 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")
class_pattern (str): 类名表达式匹配
show_detail (bool): 是否显示详细信息,默认false
show_field (bool): 是否显示成员变量信息(需要show_detail=True),默认false
use_regex (bool): 是否使用正则表达式匹配,默认false
depth (str): 属性遍历深度(暂未使用)
classloader_hash (Optional[str]): 指定class的ClassLoader的hashcode(暂未使用)
classloader_class (Optional[str]): 指定执行表达式的ClassLoader的class name(暂未使用)
max_matches (str): 匹配类的最大数量,使用字符串形式(如:"50")
Returns:
Dict: 包含类信息的字典
|
| get_jvm_status | 获取JVM整体状态报告 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")。
如果不指定则自动选择第一个Java进程
Returns:
Dict: 包含JVM状态信息的字典(暂未实现)
|
| get_stack_trace_by_method | 获取方法的调用路径 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")
class_pattern (str): 类名表达式匹配
method_pattern (str): 方法名表达式匹配
condition (Optional[str]): 条件表达式,例如:'params[0]<0' 或 '#cost>10'
use_regex (bool): 是否开启正则表达式匹配,默认为通配符匹配
max_matches (str): Class最大匹配数量,使用字符串形式(如:"50")
max_times (str): 执行次数限制,使用字符串形式
Returns:
Dict: 包含方法调用路径信息的字典(暂未实现)
|
| decompile_class | 反编译指定类的源码 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")
class_pattern (str): 类名表达式匹配
method_pattern (Optional[str]): 可选的方法名表达式
Returns:
Dict: 包含反编译源码的字典(暂未实现)
|
| search_method | 查看类的方法信息 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")
class_pattern (str): 类名表达式匹配
method_pattern (Optional[str]): 可选的方法名表达式
show_detail (bool): 是否展示每个方法的详细信息
use_regex (bool): 是否开启正则表达式匹配,默认为通配符匹配
classloader_hash (Optional[str]): 指定class的ClassLoader的hashcode
classloader_class (Optional[str]): 指定执行表达式的ClassLoader的class name
max_matches (str): 匹配类的最大数量,使用字符串形式(如:"100")
Returns:
Dict: 包含方法信息的字典(暂未实现)
|
| watch_method | 监控方法的调用情况 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")
class_pattern (str): 类名表达式匹配
method_pattern (str): 方法名表达式匹配
watch_params (bool): 是否监控方法参数
watch_return (bool): 是否监控方法返回值
condition (Optional[str]): 条件表达式
max_times (str): 最大监控次数,使用字符串形式(如:"10")
Returns:
Dict: 包含方法监控信息的字典(暂未实现)
|
| get_logger_info | 获取logger信息 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")
name (Optional[str]): logger名称,如果不指定则获取所有logger信息
Returns:
Dict: 包含logger信息的字典(暂未实现)
|
| set_logger_level | 设置logger级别 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")
name (str): logger名称
level (str): 日志级别
Returns:
Dict: 设置结果的字典(暂未实现)
|
| get_dashboard | 获取系统实时数据面板 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")
Returns:
Dict: 包含系统实时数据的字典(暂未实现)
|
| get_jcmd_output | 执行 jcmd 子命令 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")
subcommand (Optional[str]): jcmd子命令,如果不指定则执行help命令
Returns:
Dict: 包含jcmd执行结果的字典,包含以下字段:
- raw_output (str): 原始输出
- timestamp (float): 时间戳
- success (bool): 是否成功
- error (Optional[str]): 错误信息
|
| get_jstat_output | 执行 jstat 监控命令 Args:
pid (str): 进程ID,使用字符串形式(如:"12345")
option (Optional[str]): jstat选项,如gc、class、compiler等
interval (str): 采样间隔(毫秒),使用字符串形式(如:"1000"表示1秒)
count (str): 采样次数,使用字符串形式(如:"10")
Returns:
Dict: 包含jstat执行结果的字典,包含以下字段:
- raw_output (str): 原始输出
- timestamp (float): 时间戳
- success (bool): 是否成功
- error (Optional[str]): 错误信息
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |