com.alibaba.arthas.tunnel.server.endpoint.ArthasEndpoint Maven / Gradle / Ivy
package com.alibaba.arthas.tunnel.server.endpoint;
import java.util.HashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
import com.alibaba.arthas.tunnel.server.TunnelServer;
import com.alibaba.arthas.tunnel.server.app.configuration.ArthasProperties;
@Endpoint(id = "arthas")
public class ArthasEndpoint {
@Autowired
ArthasProperties arthasProperties;
@Autowired
TunnelServer tunnelServer;
@ReadOperation
public Map invoke() {
Map result = new HashMap<>(4);
result.put("version", this.getClass().getPackage().getImplementationVersion());
result.put("properties", arthasProperties);
result.put("agents", tunnelServer.getAgentInfoMap());
result.put("clientConnections", tunnelServer.getClientConnectionInfoMap());
return result;
}
}