Commit Graph
754 Commits
Author SHA1 Message Date
copilot-swe-agent[bot]andhengyunabc 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]andhengyunabc 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]andhengyunabc 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
hengyunabcandlbs 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