copilot-swe-agent[bot] and hengyunabc
42b433f3da
Add integration test simulating actual Advice usage with null handling
...
Co-authored-by: hengyunabc <1683936+hengyunabc@users.noreply.github.com >
2026-01-14 09:45:33 +00:00
copilot-swe-agent[bot] and hengyunabc
49f80ffa59
Add comprehensive test case for Advice with null params scenario
...
Co-authored-by: hengyunabc <1683936+hengyunabc@users.noreply.github.com >
2026-01-14 09:44:10 +00:00
copilot-swe-agent[bot] and hengyunabc
8924e29ac4
Fix OGNL null source exception by handling it gracefully in OgnlExpress.get()
...
Co-authored-by: hengyunabc <1683936+hengyunabc@users.noreply.github.com >
2026-01-14 09:42:46 +00:00
hengyunabc and lbs
878f8844e4
feat:实现正则表达式编译缓存功能 #3130 ( #3131 )
...
Co-authored-by: lbs <2322701154@qq.com >
2026-01-12 14:43:23 +08:00
hengyunabc
8c413e2618
release 4.1.5
2026-01-10 17:11:44 +08:00
Copilot
8337d2f481
fix: NullPointerException when accessing arthas-output with MCP disabled ( #3127 )
2026-01-08 18:03:06 +08:00
hengyunabc
29bffaef10
feat: add JDK version check for ViewFileToolTest to ensure compatibility
2026-01-05 18:21:46 +08:00
hengyunabc
5293c0513f
feat: fix EnhancerTest
2026-01-05 14:52:53 +08:00
hengyunabc
53d9ab9653
feat: watch/trace support classloader hash, classLoaderClass #3120
2026-01-05 11:10:23 +08:00
hengyunabc
17eb3c17e7
feat(mcp): add view tool ( #3121 )
2026-01-04 22:10:49 +08:00
hengyunabc
67a659ef3f
feat: vmtool suppor heap analyzer. #1915 ( #3122 )
2026-01-04 21:38:44 +08:00
hengyunabc
41f489c0ac
release 4.1.4
2025-12-29 13:13:08 +08:00
hengyunabc
e29a25f3a9
feat: add profiler mcp tool
2025-12-28 20:35:39 +08:00
hengyunabc
cd2ac061b2
fix(core): break thread local classloader leak
...
- wrap ExpressFactory thread locals with WeakReference so ArthasClassLoader can be collected
- replace TimeTunnelAdviceListener stack with plain Object[] ring buffer to keep only business objects
- reimplement ThreadLocalWatch stack via primitive array helpers and update LongStack tests
2025-12-28 15:04:47 +08:00
hengyunabc
4b904b7de4
fix: mcp-keep-alive-scheduler thread not stop problem
2025-12-27 22:47:00 +08:00
hengyunabc
d499f65af8
fix(core): avoid json-format output invoking constructors. #3111 ( #3116 )
...
fastjson2 may create a default instance via no-arg constructor when building
writers, which can trigger side effects (e.g. singleton guards) during
`options json-format true`.
Use a custom ObjectWriterProvider that disables default value instantiation
and share the JSON config via ObjectView.toJsonString(), reused by
McpObjectVOFilter.
Fixes #3111
2025-12-26 23:30:48 +08:00
hengyunabc
78abea702f
arthas-mcp-integration-test ( #3115 )
2025-12-26 20:29:56 +08:00
Yeaury
67fdc80349
arthas mcp server default STREAMABLE protocol ( #3114 )
2025-12-26 13:15:09 +08:00
hengyunabc
21ca7564f0
feat: classloader support url-classes. #3098
2025-12-25 18:50:37 +08:00
hengyunabc
9e8791d906
add sm mcp tool
2025-12-25 18:50:37 +08:00
hengyunabc
8fef8ecabc
update ClassLoaderTool.java
2025-12-25 18:50:37 +08:00
hengyunabc
134f0d13bc
add sc mcp tool. #3107
2025-12-25 18:50:37 +08:00
hengyunabc
520a5f656d
arthas mcp server default STREAMABLE protocol, keepalive 15s
2025-12-25 15:21:23 +08:00
hengyunabc
6ac269476f
add options mcp tool
2025-12-24 23:30:03 +08:00
hengyunabc
6df420b600
feat(mcp): add StopTool for basic1000 functions
2025-12-19 11:03:43 +08:00
hengyunabc
bc3d696fb7
change mcp default timeout to 30s
2025-12-08 10:01:15 +08:00
hengyunabc
88a030c606
mcp tool watch/trace numberOfExecutions default value 1
2025-12-07 15:06:57 +08:00
hengyunabc
b2fa8537fc
mcp use ObjectView format default
2025-12-07 08:21:37 +08:00
hengyunabc
5f74133597
mv arthas mcp tools impl to core module
2025-12-07 08:21:37 +08:00
hengyunabc
1a35170825
refactor: extract command result models to separate arthas-model module
2025-12-07 08:21:37 +08:00
Yeaury
02c141b325
Feature: Refactor MCP Server Architecture to Streamable or Stateless Single Service ( #3096 )
2025-12-06 14:21:33 +08:00
Yeaury
f1f96b1e10
fix: resolve NPE when calling setForegroundJob(null) in SessionImpl ( #3094 )
2025-12-04 18:16:49 +08:00
hengyunabc
9624ebac2e
fix SessionImpl null value exception
2025-12-03 22:11:47 +08:00
hengyunabc
99242dd75e
enhance command support lazy mode.
2025-12-03 22:11:46 +08:00
hengyunabc
aeb9c9d1e9
watch/trace support timeout ( #3089 )
2025-11-30 20:00:52 +08:00
hengyunabc
d0c3516184
feat: add userId tracking for usage statistics across all command execution paths ( #3087 )
...
- Add userId field to Session interface and implementation
- Support userId extraction from HTTP headers (X-User-Id) and URL parameters
- Pass userId through command execution chain (HTTP API, MCP server, command executor)
- Include userId in usage statistics reporting to arthasUsageSuccess
- Add userId display in session command output
- Update CommandExecutor interface to accept userId parameter
- Ensure userId is properly propagated in:
* HTTP term connections (BasicHttpAuthenticatorHandler, ExtHttpTtyConnection)
* HTTP API requests (ApiRequest, HttpApiHandler)
* MCP server stateless and streamable handlers
* Arthas command context and tool execution
2025-11-27 15:49:03 +08:00
yande2011
bb7418abe5
interrupt时如果处于TERMINATED也应该成功 ( #3079 )
...
触发条件:
HttpApiHandler的processExecRequest在job的状态是TERMINATED时会退出waitForJob,sessionManager.removeSession时会判断是否有foregroundJob,
如果存在则调用interrupt, 修改process的状态和把foregroundJob置空在另一个线程,并且是先设置状态为TERMINATED然后才会把foregroundJob置空,存在时间差
2025-11-24 10:50:00 +08:00
hzqnull
8c4828ca0f
fix typo ( #3080 )
2025-11-24 10:48:32 +08:00
Zhang Yu
91cb47a80f
fix(auth): resolve authentication failure when accessed via remote IP ( #3076 )
2025-10-21 16:12:47 +08:00
hengyunabc
f56297fde6
upgrade async-profiler to 4.1 #3008
2025-10-14 17:04:16 +08:00
Zhang Yu
91a6fa927d
feat: enhance MCP authentication and allow configurable /mcp path ( #3061 )
2025-10-09 17:28:56 +08:00
Zhang Yu
7bb4408f31
feat: Add Bearer Token authentication support for MCP requests ( #3059 )
...
* feat: 为MCP请求添加Bearer Token认证支持
- MCP请求现在支持Bearer Token和Basic Auth两种认证方式
- 普通HTTP请求保持原有Basic Auth认证方式不变
2025-10-09 17:28:56 +08:00
Zhang Yu
367df00e25
feat: Support MCP 2025-03-26 protocol with streaming tools ( #3054 )
...
- 实现MCP协议2025-03-26版本支持
- 添加流式工具(Streamable Tools)架构
- 支持双传输模式:流式传输(SSE)和无状态传输
- 实现30+个Arthas工具的MCP接口封装
- 添加实时进度通知和结果流式输出
- 支持watch、monitor、trace、dashboard、profiler等流式工具
2025-10-09 17:28:56 +08:00
Zhang Yu
2b837ca2c4
feat: Add MCP (Model Context Protocol) base protocol implementation with Netty ( #3039 )
2025-10-09 17:28:56 +08:00
laoyin007
3a2322396f
fix typo ( #3063 )
2025-09-20 10:15:03 +08:00
ChenglongZ
27a22fe8a1
命令行处理类名时,自动替换/为. ( #3017 )
2025-09-11 17:40:49 +08:00
Lei Zhiyuan
0aeffc9bda
fix bug of viewing enum obj ( #3041 )
2025-07-27 08:44:46 +08:00
kkHAIKE
502a04858f
Add mallocTrim command to vmTool ( #3030 )
2025-07-27 08:43:05 +08:00
hengyunabc
d9811a07b6
fix ArthasBanner latestVersion() block. #3021
2025-05-14 10:53:27 +08:00
hengyunabc
b0990518e5
fix lambda class filter. #3010
2025-04-15 22:15:23 +08:00