Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Administrator
Arthas
Commits
5d7c4150
Commit
5d7c4150
authored
Dec 21, 2023
by
shengnan hu
Browse files
init
parents
Pipeline
#4720
failed with stage
in 31 seconds
Changes
457
Pipelines
621
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1062 additions
and
0 deletions
+1062
-0
core/src/main/java/com/taobao/arthas/core/command/model/HeapDumpModel.java
...a/com/taobao/arthas/core/command/model/HeapDumpModel.java
+42
-0
core/src/main/java/com/taobao/arthas/core/command/model/HelpModel.java
.../java/com/taobao/arthas/core/command/model/HelpModel.java
+51
-0
core/src/main/java/com/taobao/arthas/core/command/model/HistoryModel.java
...va/com/taobao/arthas/core/command/model/HistoryModel.java
+27
-0
core/src/main/java/com/taobao/arthas/core/command/model/InputStatus.java
...ava/com/taobao/arthas/core/command/model/InputStatus.java
+22
-0
core/src/main/java/com/taobao/arthas/core/command/model/InputStatusModel.java
...om/taobao/arthas/core/command/model/InputStatusModel.java
+28
-0
core/src/main/java/com/taobao/arthas/core/command/model/JadModel.java
...n/java/com/taobao/arthas/core/command/model/JadModel.java
+86
-0
core/src/main/java/com/taobao/arthas/core/command/model/JvmItemVO.java
.../java/com/taobao/arthas/core/command/model/JvmItemVO.java
+46
-0
core/src/main/java/com/taobao/arthas/core/command/model/JvmModel.java
...n/java/com/taobao/arthas/core/command/model/JvmModel.java
+48
-0
core/src/main/java/com/taobao/arthas/core/command/model/LoggerModel.java
...ava/com/taobao/arthas/core/command/model/LoggerModel.java
+55
-0
core/src/main/java/com/taobao/arthas/core/command/model/MBeanAttributeVO.java
...om/taobao/arthas/core/command/model/MBeanAttributeVO.java
+47
-0
core/src/main/java/com/taobao/arthas/core/command/model/MBeanModel.java
...java/com/taobao/arthas/core/command/model/MBeanModel.java
+55
-0
core/src/main/java/com/taobao/arthas/core/command/model/MemoryCompilerModel.java
...taobao/arthas/core/command/model/MemoryCompilerModel.java
+53
-0
core/src/main/java/com/taobao/arthas/core/command/model/MemoryEntryVO.java
...a/com/taobao/arthas/core/command/model/MemoryEntryVO.java
+70
-0
core/src/main/java/com/taobao/arthas/core/command/model/MemoryModel.java
...ava/com/taobao/arthas/core/command/model/MemoryModel.java
+25
-0
core/src/main/java/com/taobao/arthas/core/command/model/MessageModel.java
...va/com/taobao/arthas/core/command/model/MessageModel.java
+24
-0
core/src/main/java/com/taobao/arthas/core/command/model/MethodNode.java
...java/com/taobao/arthas/core/command/model/MethodNode.java
+148
-0
core/src/main/java/com/taobao/arthas/core/command/model/MethodVO.java
...n/java/com/taobao/arthas/core/command/model/MethodVO.java
+99
-0
core/src/main/java/com/taobao/arthas/core/command/model/MonitorModel.java
...va/com/taobao/arthas/core/command/model/MonitorModel.java
+34
-0
core/src/main/java/com/taobao/arthas/core/command/model/ObjectVO.java
...n/java/com/taobao/arthas/core/command/model/ObjectVO.java
+55
-0
core/src/main/java/com/taobao/arthas/core/command/model/OgnlModel.java
.../java/com/taobao/arthas/core/command/model/OgnlModel.java
+47
-0
No files found.
Too many changes to show.
To preserve performance only
457 of 457+
files are displayed.
Plain diff
Email patch
core/src/main/java/com/taobao/arthas/core/command/model/HeapDumpModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* Model of `heapdump` command
* @author gongdewei 2020/4/24
*/
public
class
HeapDumpModel
extends
ResultModel
{
private
String
dumpFile
;
private
boolean
live
;
public
HeapDumpModel
()
{
}
public
HeapDumpModel
(
String
dumpFile
,
boolean
live
)
{
this
.
dumpFile
=
dumpFile
;
this
.
live
=
live
;
}
public
String
getDumpFile
()
{
return
dumpFile
;
}
public
void
setDumpFile
(
String
dumpFile
)
{
this
.
dumpFile
=
dumpFile
;
}
public
boolean
isLive
()
{
return
live
;
}
public
void
setLive
(
boolean
live
)
{
this
.
live
=
live
;
}
@Override
public
String
getType
()
{
return
"heapdump"
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/HelpModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author gongdewei 2020/4/3
*/
public
class
HelpModel
extends
ResultModel
{
//list
private
List
<
CommandVO
>
commands
;
//details
private
CommandVO
detailCommand
;
public
HelpModel
()
{
}
public
HelpModel
(
List
<
CommandVO
>
commands
)
{
this
.
commands
=
commands
;
}
public
HelpModel
(
CommandVO
command
)
{
this
.
detailCommand
=
command
;
}
public
void
addCommandVO
(
CommandVO
commandVO
){
if
(
commands
==
null
)
{
commands
=
new
ArrayList
<
CommandVO
>();
}
this
.
commands
.
add
(
commandVO
);
}
public
List
<
CommandVO
>
getCommands
()
{
return
commands
;
}
public
void
setCommands
(
List
<
CommandVO
>
commands
)
{
this
.
commands
=
commands
;
}
public
CommandVO
getDetailCommand
()
{
return
detailCommand
;
}
@Override
public
String
getType
()
{
return
"help"
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/HistoryModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
java.util.List
;
/**
* @author gongdewei 2020/4/8
*/
public
class
HistoryModel
extends
ResultModel
{
private
List
<
String
>
history
;
public
HistoryModel
()
{
}
public
HistoryModel
(
List
<
String
>
history
)
{
this
.
history
=
history
;
}
public
List
<
String
>
getHistory
()
{
return
history
;
}
@Override
public
String
getType
()
{
return
"history"
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/InputStatus.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* Command input status for webui
* @author gongdewei 2020/4/14
*/
public
enum
InputStatus
{
/**
* Allow input new commands
*/
ALLOW_INPUT
,
/**
* Allow interrupt running job
*/
ALLOW_INTERRUPT
,
/**
* Disable input and interrupt
*/
DISABLED
}
core/src/main/java/com/taobao/arthas/core/command/model/InputStatusModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* Input status for webui
* @author gongdewei 2020/4/14
*/
public
class
InputStatusModel
extends
ResultModel
{
private
InputStatus
inputStatus
;
public
InputStatusModel
(
InputStatus
inputStatus
)
{
this
.
inputStatus
=
inputStatus
;
}
public
InputStatus
getInputStatus
()
{
return
inputStatus
;
}
public
void
setInputStatus
(
InputStatus
inputStatus
)
{
this
.
inputStatus
=
inputStatus
;
}
@Override
public
String
getType
()
{
return
"input_status"
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/JadModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
java.util.Collection
;
import
java.util.NavigableMap
;
/**
* @author gongdewei 2020/4/22
* @author hengyunabc 2021-02-23
*/
public
class
JadModel
extends
ResultModel
{
private
ClassVO
classInfo
;
private
String
location
;
private
String
source
;
private
NavigableMap
<
Integer
,
Integer
>
mappings
;
private
Collection
<
ClassLoaderVO
>
matchedClassLoaders
;
private
String
classLoaderClass
;
//match multiple classes
private
Collection
<
ClassVO
>
matchedClasses
;
@Override
public
String
getType
()
{
return
"jad"
;
}
public
JadModel
()
{
}
public
ClassVO
getClassInfo
()
{
return
classInfo
;
}
public
void
setClassInfo
(
ClassVO
classInfo
)
{
this
.
classInfo
=
classInfo
;
}
public
String
getLocation
()
{
return
location
;
}
public
void
setLocation
(
String
location
)
{
this
.
location
=
location
;
}
public
String
getSource
()
{
return
source
;
}
public
void
setSource
(
String
source
)
{
this
.
source
=
source
;
}
public
NavigableMap
<
Integer
,
Integer
>
getMappings
()
{
return
mappings
;
}
public
void
setMappings
(
NavigableMap
<
Integer
,
Integer
>
mappings
)
{
this
.
mappings
=
mappings
;
}
public
Collection
<
ClassVO
>
getMatchedClasses
()
{
return
matchedClasses
;
}
public
void
setMatchedClasses
(
Collection
<
ClassVO
>
matchedClasses
)
{
this
.
matchedClasses
=
matchedClasses
;
}
public
String
getClassLoaderClass
()
{
return
classLoaderClass
;
}
public
JadModel
setClassLoaderClass
(
String
classLoaderClass
)
{
this
.
classLoaderClass
=
classLoaderClass
;
return
this
;
}
public
Collection
<
ClassLoaderVO
>
getMatchedClassLoaders
()
{
return
matchedClassLoaders
;
}
public
JadModel
setMatchedClassLoaders
(
Collection
<
ClassLoaderVO
>
matchedClassLoaders
)
{
this
.
matchedClassLoaders
=
matchedClassLoaders
;
return
this
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/JvmItemVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* Key/value/desc
* @author gongdewei 2020/4/24
*/
public
class
JvmItemVO
{
private
String
name
;
private
Object
value
;
private
String
desc
;
public
JvmItemVO
(
String
name
,
Object
value
,
String
desc
)
{
this
.
name
=
name
;
this
.
value
=
value
;
this
.
desc
=
desc
;
}
public
JvmItemVO
(
String
name
,
Object
value
)
{
this
.
name
=
name
;
this
.
value
=
value
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
Object
getValue
()
{
return
value
;
}
public
void
setValue
(
Object
value
)
{
this
.
value
=
value
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/JvmModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
java.util.*
;
/**
* Model of 'jvm' command
*
* @author gongdewei 2020/4/24
*/
public
class
JvmModel
extends
ResultModel
{
private
Map
<
String
,
List
<
JvmItemVO
>>
jvmInfo
;
public
JvmModel
()
{
jvmInfo
=
Collections
.
synchronizedMap
(
new
LinkedHashMap
<
String
,
List
<
JvmItemVO
>>());
}
@Override
public
String
getType
()
{
return
"jvm"
;
}
public
JvmModel
addItem
(
String
group
,
String
name
,
Object
value
)
{
this
.
addItem
(
group
,
name
,
value
,
null
);
return
this
;
}
public
JvmModel
addItem
(
String
group
,
String
name
,
Object
value
,
String
desc
)
{
this
.
group
(
group
).
add
(
new
JvmItemVO
(
name
,
value
,
desc
));
return
this
;
}
public
List
<
JvmItemVO
>
group
(
String
group
)
{
synchronized
(
this
)
{
List
<
JvmItemVO
>
list
=
jvmInfo
.
get
(
group
);
if
(
list
==
null
)
{
list
=
new
ArrayList
<
JvmItemVO
>();
jvmInfo
.
put
(
group
,
list
);
}
return
list
;
}
}
public
Map
<
String
,
List
<
JvmItemVO
>>
getJvmInfo
()
{
return
jvmInfo
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/LoggerModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
java.util.Collection
;
import
java.util.Map
;
/**
* Model of logger command
*
* @author gongdewei 2020/4/22
*/
public
class
LoggerModel
extends
ResultModel
{
private
Map
<
String
,
Map
<
String
,
Object
>>
loggerInfoMap
;
private
Collection
<
ClassLoaderVO
>
matchedClassLoaders
;
private
String
classLoaderClass
;
public
LoggerModel
()
{
}
public
LoggerModel
(
Map
<
String
,
Map
<
String
,
Object
>>
loggerInfoMap
)
{
this
.
loggerInfoMap
=
loggerInfoMap
;
}
public
Map
<
String
,
Map
<
String
,
Object
>>
getLoggerInfoMap
()
{
return
loggerInfoMap
;
}
public
void
setLoggerInfoMap
(
Map
<
String
,
Map
<
String
,
Object
>>
loggerInfoMap
)
{
this
.
loggerInfoMap
=
loggerInfoMap
;
}
public
String
getClassLoaderClass
()
{
return
classLoaderClass
;
}
public
LoggerModel
setClassLoaderClass
(
String
classLoaderClass
)
{
this
.
classLoaderClass
=
classLoaderClass
;
return
this
;
}
public
Collection
<
ClassLoaderVO
>
getMatchedClassLoaders
()
{
return
matchedClassLoaders
;
}
public
LoggerModel
setMatchedClassLoaders
(
Collection
<
ClassLoaderVO
>
matchedClassLoaders
)
{
this
.
matchedClassLoaders
=
matchedClassLoaders
;
return
this
;
}
@Override
public
String
getType
()
{
return
"logger"
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/MBeanAttributeVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* MBean attribute
*
* @author gongdewei 2020/4/26
*/
public
class
MBeanAttributeVO
{
private
String
name
;
private
Object
value
;
private
String
error
;
public
MBeanAttributeVO
(
String
name
,
Object
value
)
{
this
.
name
=
name
;
this
.
value
=
value
;
}
public
MBeanAttributeVO
(
String
name
,
Object
value
,
String
error
)
{
this
.
name
=
name
;
this
.
value
=
value
;
this
.
error
=
error
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
Object
getValue
()
{
return
value
;
}
public
void
setValue
(
Object
value
)
{
this
.
value
=
value
;
}
public
String
getError
()
{
return
error
;
}
public
void
setError
(
String
error
)
{
this
.
error
=
error
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/MBeanModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
javax.management.MBeanInfo
;
import
java.util.List
;
import
java.util.Map
;
/**
* Model of 'mbean'
*
* @author gongdewei 2020/4/26
*/
public
class
MBeanModel
extends
ResultModel
{
private
List
<
String
>
mbeanNames
;
private
Map
<
String
,
MBeanInfo
>
mbeanMetadata
;
private
Map
<
String
,
List
<
MBeanAttributeVO
>>
mbeanAttribute
;
public
MBeanModel
()
{
}
public
MBeanModel
(
List
<
String
>
mbeanNames
)
{
this
.
mbeanNames
=
mbeanNames
;
}
@Override
public
String
getType
()
{
return
"mbean"
;
}
public
List
<
String
>
getMbeanNames
()
{
return
mbeanNames
;
}
public
void
setMbeanNames
(
List
<
String
>
mbeanNames
)
{
this
.
mbeanNames
=
mbeanNames
;
}
public
Map
<
String
,
MBeanInfo
>
getMbeanMetadata
()
{
return
mbeanMetadata
;
}
public
void
setMbeanMetadata
(
Map
<
String
,
MBeanInfo
>
mbeanMetadata
)
{
this
.
mbeanMetadata
=
mbeanMetadata
;
}
public
Map
<
String
,
List
<
MBeanAttributeVO
>>
getMbeanAttribute
()
{
return
mbeanAttribute
;
}
public
void
setMbeanAttribute
(
Map
<
String
,
List
<
MBeanAttributeVO
>>
mbeanAttribute
)
{
this
.
mbeanAttribute
=
mbeanAttribute
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/MemoryCompilerModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
java.util.Collection
;
import
java.util.List
;
/**
* @author gongdewei 2020/4/20
*/
public
class
MemoryCompilerModel
extends
ResultModel
{
private
List
<
String
>
files
;
private
Collection
<
ClassLoaderVO
>
matchedClassLoaders
;
private
String
classLoaderClass
;
public
MemoryCompilerModel
()
{
}
public
MemoryCompilerModel
(
List
<
String
>
files
)
{
this
.
files
=
files
;
}
public
void
setFiles
(
List
<
String
>
files
)
{
this
.
files
=
files
;
}
public
List
<
String
>
getFiles
()
{
return
files
;
}
public
String
getClassLoaderClass
()
{
return
classLoaderClass
;
}
public
MemoryCompilerModel
setClassLoaderClass
(
String
classLoaderClass
)
{
this
.
classLoaderClass
=
classLoaderClass
;
return
this
;
}
public
Collection
<
ClassLoaderVO
>
getMatchedClassLoaders
()
{
return
matchedClassLoaders
;
}
public
MemoryCompilerModel
setMatchedClassLoaders
(
Collection
<
ClassLoaderVO
>
matchedClassLoaders
)
{
this
.
matchedClassLoaders
=
matchedClassLoaders
;
return
this
;
}
@Override
public
String
getType
()
{
return
"mc"
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/MemoryEntryVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* Memory info of 'dashboard' command
*
* @author gongdewei 2020/4/22
*/
public
class
MemoryEntryVO
{
public
static
final
String
TYPE_HEAP
=
"heap"
;
public
static
final
String
TYPE_NON_HEAP
=
"nonheap"
;
public
static
final
String
TYPE_BUFFER_POOL
=
"buffer_pool"
;
private
String
type
;
private
String
name
;
private
long
used
;
private
long
total
;
private
long
max
;
public
MemoryEntryVO
()
{
}
public
MemoryEntryVO
(
String
type
,
String
name
,
long
used
,
long
total
,
long
max
)
{
this
.
type
=
type
;
this
.
name
=
name
;
this
.
used
=
used
;
this
.
total
=
total
;
this
.
max
=
max
;
}
public
String
getType
()
{
return
type
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
long
getUsed
()
{
return
used
;
}
public
void
setUsed
(
long
used
)
{
this
.
used
=
used
;
}
public
long
getTotal
()
{
return
total
;
}
public
void
setTotal
(
long
total
)
{
this
.
total
=
total
;
}
public
long
getMax
()
{
return
max
;
}
public
void
setMax
(
long
max
)
{
this
.
max
=
max
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/MemoryModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
java.util.List
;
import
java.util.Map
;
/**
* Model of 'memory' command
* @author hengyunabc 2022-03-01
*/
public
class
MemoryModel
extends
ResultModel
{
private
Map
<
String
,
List
<
MemoryEntryVO
>>
memoryInfo
;
@Override
public
String
getType
()
{
return
"memory"
;
}
public
Map
<
String
,
List
<
MemoryEntryVO
>>
getMemoryInfo
()
{
return
memoryInfo
;
}
public
void
setMemoryInfo
(
Map
<
String
,
List
<
MemoryEntryVO
>>
memoryInfo
)
{
this
.
memoryInfo
=
memoryInfo
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/MessageModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* @author gongdewei 2020/4/2
*/
public
class
MessageModel
extends
ResultModel
{
private
String
message
;
public
MessageModel
()
{
}
public
MessageModel
(
String
message
)
{
this
.
message
=
message
;
}
public
String
getMessage
()
{
return
message
;
}
@Override
public
String
getType
()
{
return
"message"
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/MethodNode.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* Method call node of TraceCommand
* @author gongdewei 2020/4/29
*/
public
class
MethodNode
extends
TraceNode
{
private
String
className
;
private
String
methodName
;
private
int
lineNumber
;
private
Boolean
isThrow
;
private
String
throwExp
;
/**
* 是否为invoke方法,true为beforeInvoke,false为方法体入口的onBefore
*/
private
boolean
isInvoking
;
/**
* 开始时间戳
*/
private
long
beginTimestamp
;
/**
* 结束时间戳
*/
private
long
endTimestamp
;
/**
* 合并统计相同调用,并计算最小\最大\总耗时
*/
private
long
minCost
=
Long
.
MAX_VALUE
;
private
long
maxCost
=
Long
.
MIN_VALUE
;
private
long
totalCost
=
0
;
private
long
times
=
0
;
public
MethodNode
(
String
className
,
String
methodName
,
int
lineNumber
,
boolean
isInvoking
)
{
super
(
"method"
);
this
.
className
=
className
;
this
.
methodName
=
methodName
;
this
.
lineNumber
=
lineNumber
;
this
.
isInvoking
=
isInvoking
;
}
public
void
begin
()
{
beginTimestamp
=
System
.
nanoTime
();
}
public
void
end
()
{
endTimestamp
=
System
.
nanoTime
();
long
cost
=
getCost
();
if
(
cost
<
minCost
)
{
minCost
=
cost
;
}
if
(
cost
>
maxCost
)
{
maxCost
=
cost
;
}
times
++;
totalCost
+=
cost
;
}
public
long
getCost
()
{
return
endTimestamp
-
beginTimestamp
;
}
public
String
getClassName
()
{
return
className
;
}
public
void
setClassName
(
String
className
)
{
this
.
className
=
className
;
}
public
String
getMethodName
()
{
return
methodName
;
}
public
void
setMethodName
(
String
methodName
)
{
this
.
methodName
=
methodName
;
}
public
int
getLineNumber
()
{
return
lineNumber
;
}
public
void
setLineNumber
(
int
lineNumber
)
{
this
.
lineNumber
=
lineNumber
;
}
public
Boolean
getThrow
()
{
return
isThrow
;
}
public
void
setThrow
(
Boolean
aThrow
)
{
isThrow
=
aThrow
;
}
public
String
getThrowExp
()
{
return
throwExp
;
}
public
void
setThrowExp
(
String
throwExp
)
{
this
.
throwExp
=
throwExp
;
}
public
long
getMinCost
()
{
return
minCost
;
}
public
void
setMinCost
(
long
minCost
)
{
this
.
minCost
=
minCost
;
}
public
long
getMaxCost
()
{
return
maxCost
;
}
public
void
setMaxCost
(
long
maxCost
)
{
this
.
maxCost
=
maxCost
;
}
public
long
getTotalCost
()
{
return
totalCost
;
}
public
void
setTotalCost
(
long
totalCost
)
{
this
.
totalCost
=
totalCost
;
}
public
long
getTimes
()
{
return
times
;
}
public
void
setTimes
(
long
times
)
{
this
.
times
=
times
;
}
public
boolean
isInvoking
()
{
return
isInvoking
;
}
public
void
setInvoking
(
boolean
invoking
)
{
isInvoking
=
invoking
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/MethodVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* Method or Constructor VO
* @author gongdewei 2020/4/9
*/
public
class
MethodVO
{
private
String
declaringClass
;
private
String
methodName
;
private
String
modifier
;
private
String
[]
annotations
;
private
String
[]
parameters
;
private
String
returnType
;
private
String
[]
exceptions
;
private
String
classLoaderHash
;
private
String
descriptor
;
private
boolean
constructor
;
public
String
getDeclaringClass
()
{
return
declaringClass
;
}
public
void
setDeclaringClass
(
String
declaringClass
)
{
this
.
declaringClass
=
declaringClass
;
}
public
String
getMethodName
()
{
return
methodName
;
}
public
void
setMethodName
(
String
methodName
)
{
this
.
methodName
=
methodName
;
}
public
String
getModifier
()
{
return
modifier
;
}
public
void
setModifier
(
String
modifier
)
{
this
.
modifier
=
modifier
;
}
public
String
[]
getAnnotations
()
{
return
annotations
;
}
public
void
setAnnotations
(
String
[]
annotations
)
{
this
.
annotations
=
annotations
;
}
public
String
[]
getParameters
()
{
return
parameters
;
}
public
void
setParameters
(
String
[]
parameters
)
{
this
.
parameters
=
parameters
;
}
public
String
getReturnType
()
{
return
returnType
;
}
public
void
setReturnType
(
String
returnType
)
{
this
.
returnType
=
returnType
;
}
public
String
[]
getExceptions
()
{
return
exceptions
;
}
public
void
setExceptions
(
String
[]
exceptions
)
{
this
.
exceptions
=
exceptions
;
}
public
String
getClassLoaderHash
()
{
return
classLoaderHash
;
}
public
void
setClassLoaderHash
(
String
classLoaderHash
)
{
this
.
classLoaderHash
=
classLoaderHash
;
}
public
boolean
isConstructor
()
{
return
constructor
;
}
public
void
setConstructor
(
boolean
constructor
)
{
this
.
constructor
=
constructor
;
}
public
String
getDescriptor
()
{
return
descriptor
;
}
public
void
setDescriptor
(
String
descriptor
)
{
this
.
descriptor
=
descriptor
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/MonitorModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
com.taobao.arthas.core.command.monitor200.MonitorData
;
import
java.util.List
;
/**
* Data model of MonitorCommand
* @author gongdewei 2020/4/28
*/
public
class
MonitorModel
extends
ResultModel
{
private
List
<
MonitorData
>
monitorDataList
;
public
MonitorModel
()
{
}
public
MonitorModel
(
List
<
MonitorData
>
monitorDataList
)
{
this
.
monitorDataList
=
monitorDataList
;
}
@Override
public
String
getType
()
{
return
"monitor"
;
}
public
List
<
MonitorData
>
getMonitorDataList
()
{
return
monitorDataList
;
}
public
void
setMonitorDataList
(
List
<
MonitorData
>
monitorDataList
)
{
this
.
monitorDataList
=
monitorDataList
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/ObjectVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* <pre>
* 包装一层,解决json输出问题
* https://github.com/alibaba/arthas/issues/2261
* </pre>
*
* @author hengyunabc 2022-08-24
*
*/
public
class
ObjectVO
{
private
Object
object
;
private
Integer
expand
;
public
ObjectVO
(
Object
object
,
Integer
expand
)
{
this
.
object
=
object
;
this
.
expand
=
expand
;
}
public
static
ObjectVO
[]
array
(
Object
[]
objects
,
Integer
expand
)
{
ObjectVO
[]
result
=
new
ObjectVO
[
objects
.
length
];
for
(
int
i
=
0
;
i
<
objects
.
length
;
++
i
)
{
result
[
i
]
=
new
ObjectVO
(
objects
[
i
],
expand
);
}
return
result
;
}
public
int
expandOrDefault
()
{
if
(
expand
!=
null
)
{
return
expand
;
}
return
1
;
}
public
boolean
needExpand
()
{
return
null
!=
expand
&&
expand
>
0
;
}
public
Object
getObject
()
{
return
object
;
}
public
void
setObject
(
Object
object
)
{
this
.
object
=
object
;
}
public
Integer
getExpand
()
{
return
expand
;
}
public
void
setExpand
(
Integer
expand
)
{
this
.
expand
=
expand
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/OgnlModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
java.util.Collection
;
/**
* Data model of OgnlCommand
* @author gongdewei 2020/4/29
*/
public
class
OgnlModel
extends
ResultModel
{
private
ObjectVO
value
;
private
Collection
<
ClassLoaderVO
>
matchedClassLoaders
;
private
String
classLoaderClass
;
@Override
public
String
getType
()
{
return
"ognl"
;
}
public
ObjectVO
getValue
()
{
return
value
;
}
public
OgnlModel
setValue
(
ObjectVO
value
)
{
this
.
value
=
value
;
return
this
;
}
public
String
getClassLoaderClass
()
{
return
classLoaderClass
;
}
public
OgnlModel
setClassLoaderClass
(
String
classLoaderClass
)
{
this
.
classLoaderClass
=
classLoaderClass
;
return
this
;
}
public
Collection
<
ClassLoaderVO
>
getMatchedClassLoaders
()
{
return
matchedClassLoaders
;
}
public
OgnlModel
setMatchedClassLoaders
(
Collection
<
ClassLoaderVO
>
matchedClassLoaders
)
{
this
.
matchedClassLoaders
=
matchedClassLoaders
;
return
this
;
}
}
Prev
1
…
12
13
14
15
16
17
18
19
20
…
23
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment