Commit Graph
2139 Commits
Author SHA1 Message Date
hengyunabc 6090902cc2 upgrade termd to 1.1.7.15. fix netty InternalThreadLocalMap ThreadLocal leak. #1794 2025-12-28 14:54:24 +08:00
hengyunabc 8c47af8aea 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 14:49:42 +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 7518088b86 Prettified Code! 2025-12-25 18:50:37 +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 28739f1bc6 fix vmtool mallocTrim. #3109 2025-12-25 15:35:23 +08:00
hengyunabc 520a5f656d arthas mcp server default STREAMABLE protocol, keepalive 15s 2025-12-25 15:21:23 +08:00
yeaury b99147d7c1 fix(mcp-server): optimize session validation to prevent 2-second timeout delays
Previously, session validation used pullResults() which would block for up to 2 seconds when no results were available, causing Cherry Studio and other clients to timeout.

Changes:
- Replace blocking pullResults() validation with time-based expiry check (25 min threshold)
- Add lastAccessTime tracking to CommandSessionBinding for efficient validation
2025-12-25 15:10:21 +08:00
hengyunabc 04e57667cb add AGENTS.md 2025-12-24 23:30:10 +08:00
hengyunabc 6ac269476f add options mcp tool 2025-12-24 23:30:03 +08:00
hengyunabc 6397cd7f1d fix .github/workflows/build-vmtool.yaml 2025-12-24 23:21:11 +08:00
hengyunabc 6df420b600 feat(mcp): add StopTool for basic1000 functions 2025-12-19 11:03:43 +08:00
darcy 075b152a22 docs: fix -t example in tt.md 2025-12-16 20:15:39 +08:00
darcy c65376e949 docs: add retransform to stop.md 2025-12-16 10:37:40 +08:00
hengyunabc 8ea3d0a316 release 4.1.3 arthas-all-4.1.3 2025-12-08 10:16:20 +08:00
hengyunabc 1712ececa6 move arthas-mcp-server module path 2025-12-08 10:09:51 +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 e6df799c3a McpStatelessServer support arthas auth, userId 2025-12-07 14:38:21 +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
XiLeePapa 79ac4ba6b6 fix pom.xml io.netty. #3090 (#3092) 2025-12-02 17:31:20 +08:00
hengyunabc aeb9c9d1e9 watch/trace support timeout (#3089) 2025-11-30 20:00:52 +08:00
hengyunabc 8470243f66 release 4.1.2 arthas-all-4.1.2 2025-11-27 21:58:52 +08:00
hengyunabc 6e07484946 disable java CodeQL 2025-11-27 21:45:12 +08:00
hengyunabc f581b5c33a upgrade netty to 4.1.128.Final. close #3085 2025-11-27 16:20:13 +08:00
hengyunabc c7f293573e remove expert info 2025-11-27 16:15:58 +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
Yeaury 345d2c2c5c feat: upgrade MCP version to 2025-06-18 with elicitation and MCP-Protocol-Version (#3084) 2025-11-25 15:04:50 +08:00
hengyunabc ef6524a388 upgrade codeql-action to v3 2025-11-25 15:03:19 +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
hengyunabc ca1b3336e0 release 4.1.1 arthas-all-4.1.1 2025-10-23 16:33:29 +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 0f52876b42 Update CONTRIBUTING.md 2025-10-15 14:48:22 +08:00
hengyunabc 601cc2f150 release 4.1.0 arthas-all-4.1.0 2025-10-15 00:08:45 +08:00
hengyunabc 6d9b6051b2 use central-publishing-maven-plugin 2025-10-15 00:08:11 +08:00
hengyunabc f56297fde6 upgrade async-profiler to 4.1 #3008 2025-10-14 17:04:16 +08:00
hengyunabc f9b7481e82 Prettified Code! 2025-10-13 07:20:59 +00:00