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
#4715
failed with stage
in 30 seconds
Changes
457
Pipelines
620
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1252 additions
and
0 deletions
+1252
-0
core/src/main/java/com/taobao/arthas/core/command/model/CatModel.java
...n/java/com/taobao/arthas/core/command/model/CatModel.java
+49
-0
core/src/main/java/com/taobao/arthas/core/command/model/ChangeResultVO.java
.../com/taobao/arthas/core/command/model/ChangeResultVO.java
+44
-0
core/src/main/java/com/taobao/arthas/core/command/model/ClassDetailVO.java
...a/com/taobao/arthas/core/command/model/ClassDetailVO.java
+163
-0
core/src/main/java/com/taobao/arthas/core/command/model/ClassLoaderModel.java
...om/taobao/arthas/core/command/model/ClassLoaderModel.java
+128
-0
core/src/main/java/com/taobao/arthas/core/command/model/ClassLoaderVO.java
...a/com/taobao/arthas/core/command/model/ClassLoaderVO.java
+74
-0
core/src/main/java/com/taobao/arthas/core/command/model/ClassSetVO.java
...java/com/taobao/arthas/core/command/model/ClassSetVO.java
+51
-0
core/src/main/java/com/taobao/arthas/core/command/model/ClassVO.java
...in/java/com/taobao/arthas/core/command/model/ClassVO.java
+35
-0
core/src/main/java/com/taobao/arthas/core/command/model/CommandOptionVO.java
...com/taobao/arthas/core/command/model/CommandOptionVO.java
+62
-0
core/src/main/java/com/taobao/arthas/core/command/model/CommandRequestModel.java
...taobao/arthas/core/command/model/CommandRequestModel.java
+54
-0
core/src/main/java/com/taobao/arthas/core/command/model/CommandVO.java
.../java/com/taobao/arthas/core/command/model/CommandVO.java
+94
-0
core/src/main/java/com/taobao/arthas/core/command/model/Countable.java
.../java/com/taobao/arthas/core/command/model/Countable.java
+15
-0
core/src/main/java/com/taobao/arthas/core/command/model/DashboardModel.java
.../com/taobao/arthas/core/command/model/DashboardModel.java
+61
-0
core/src/main/java/com/taobao/arthas/core/command/model/DumpClassModel.java
.../com/taobao/arthas/core/command/model/DumpClassModel.java
+61
-0
core/src/main/java/com/taobao/arthas/core/command/model/DumpClassVO.java
...ava/com/taobao/arthas/core/command/model/DumpClassVO.java
+17
-0
core/src/main/java/com/taobao/arthas/core/command/model/EchoModel.java
.../java/com/taobao/arthas/core/command/model/EchoModel.java
+29
-0
core/src/main/java/com/taobao/arthas/core/command/model/EnhancerAffectVO.java
...om/taobao/arthas/core/command/model/EnhancerAffectVO.java
+90
-0
core/src/main/java/com/taobao/arthas/core/command/model/EnhancerModel.java
...a/com/taobao/arthas/core/command/model/EnhancerModel.java
+47
-0
core/src/main/java/com/taobao/arthas/core/command/model/FieldVO.java
...in/java/com/taobao/arthas/core/command/model/FieldVO.java
+62
-0
core/src/main/java/com/taobao/arthas/core/command/model/GcInfoVO.java
...n/java/com/taobao/arthas/core/command/model/GcInfoVO.java
+41
-0
core/src/main/java/com/taobao/arthas/core/command/model/GetStaticModel.java
.../com/taobao/arthas/core/command/model/GetStaticModel.java
+75
-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/CatModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* Result model for CatCommand
* @author gongdewei 2020/5/11
*/
public
class
CatModel
extends
ResultModel
implements
Countable
{
private
String
file
;
private
String
content
;
public
CatModel
()
{
}
public
CatModel
(
String
file
,
String
content
)
{
this
.
file
=
file
;
this
.
content
=
content
;
}
@Override
public
String
getType
()
{
return
"cat"
;
}
public
String
getFile
()
{
return
file
;
}
public
void
setFile
(
String
file
)
{
this
.
file
=
file
;
}
public
String
getContent
()
{
return
content
;
}
public
void
setContent
(
String
content
)
{
this
.
content
=
content
;
}
@Override
public
int
size
()
{
if
(
content
!=
null
)
{
//粗略计算行数作为item size
return
content
.
length
()/
100
+
1
;
}
return
0
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/ChangeResultVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* @author gongdewei 2020/4/16
*/
public
class
ChangeResultVO
{
private
String
name
;
private
Object
beforeValue
;
private
Object
afterValue
;
public
ChangeResultVO
()
{
}
public
ChangeResultVO
(
String
name
,
Object
beforeValue
,
Object
afterValue
)
{
this
.
name
=
name
;
this
.
beforeValue
=
beforeValue
;
this
.
afterValue
=
afterValue
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
Object
getBeforeValue
()
{
return
beforeValue
;
}
public
void
setBeforeValue
(
Object
beforeValue
)
{
this
.
beforeValue
=
beforeValue
;
}
public
Object
getAfterValue
()
{
return
afterValue
;
}
public
void
setAfterValue
(
Object
afterValue
)
{
this
.
afterValue
=
afterValue
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/ClassDetailVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* Class detail VO
* @author gongdewei 2020/4/8
*/
public
class
ClassDetailVO
extends
ClassVO
{
private
String
classInfo
;
private
String
codeSource
;
private
boolean
isInterface
;
private
boolean
isAnnotation
;
private
boolean
isEnum
;
private
boolean
isAnonymousClass
;
private
boolean
isArray
;
private
boolean
isLocalClass
;
private
boolean
isMemberClass
;
private
boolean
isPrimitive
;
private
boolean
isSynthetic
;
private
String
simpleName
;
private
String
modifier
;
private
String
[]
annotations
;
private
String
[]
interfaces
;
private
String
[]
superClass
;
private
FieldVO
[]
fields
;
public
String
getClassInfo
()
{
return
classInfo
;
}
public
void
setClassInfo
(
String
classInfo
)
{
this
.
classInfo
=
classInfo
;
}
public
String
getCodeSource
()
{
return
codeSource
;
}
public
void
setCodeSource
(
String
codeSource
)
{
this
.
codeSource
=
codeSource
;
}
public
boolean
isInterface
()
{
return
isInterface
;
}
public
void
setInterface
(
boolean
anInterface
)
{
isInterface
=
anInterface
;
}
public
boolean
isAnnotation
()
{
return
isAnnotation
;
}
public
void
setAnnotation
(
boolean
annotation
)
{
isAnnotation
=
annotation
;
}
public
boolean
isEnum
()
{
return
isEnum
;
}
public
void
setEnum
(
boolean
anEnum
)
{
isEnum
=
anEnum
;
}
public
boolean
isAnonymousClass
()
{
return
isAnonymousClass
;
}
public
void
setAnonymousClass
(
boolean
anonymousClass
)
{
isAnonymousClass
=
anonymousClass
;
}
public
boolean
isArray
()
{
return
isArray
;
}
public
void
setArray
(
boolean
array
)
{
isArray
=
array
;
}
public
boolean
isLocalClass
()
{
return
isLocalClass
;
}
public
void
setLocalClass
(
boolean
localClass
)
{
isLocalClass
=
localClass
;
}
public
boolean
isMemberClass
()
{
return
isMemberClass
;
}
public
void
setMemberClass
(
boolean
memberClass
)
{
isMemberClass
=
memberClass
;
}
public
boolean
isPrimitive
()
{
return
isPrimitive
;
}
public
void
setPrimitive
(
boolean
primitive
)
{
isPrimitive
=
primitive
;
}
public
boolean
isSynthetic
()
{
return
isSynthetic
;
}
public
void
setSynthetic
(
boolean
synthetic
)
{
isSynthetic
=
synthetic
;
}
public
String
getSimpleName
()
{
return
simpleName
;
}
public
void
setSimpleName
(
String
simpleName
)
{
this
.
simpleName
=
simpleName
;
}
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
[]
getInterfaces
()
{
return
interfaces
;
}
public
void
setInterfaces
(
String
[]
interfaces
)
{
this
.
interfaces
=
interfaces
;
}
public
String
[]
getSuperClass
()
{
return
superClass
;
}
public
void
setSuperClass
(
String
[]
superClass
)
{
this
.
superClass
=
superClass
;
}
public
FieldVO
[]
getFields
()
{
return
fields
;
}
public
void
setFields
(
FieldVO
[]
fields
)
{
this
.
fields
=
fields
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/ClassLoaderModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
com.taobao.arthas.core.command.klass100.ClassLoaderCommand.ClassLoaderStat
;
import
com.taobao.arthas.core.command.klass100.ClassLoaderCommand.ClassLoaderUrlStat
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Collection
;
/**
* @author gongdewei 2020/4/21
*/
public
class
ClassLoaderModel
extends
ResultModel
{
private
ClassSetVO
classSet
;
private
List
<
String
>
resources
;
private
ClassDetailVO
loadClass
;
private
List
<
String
>
urls
;
//classloader -l -t
private
List
<
ClassLoaderVO
>
classLoaders
;
private
Boolean
tree
;
private
Map
<
String
,
ClassLoaderStat
>
classLoaderStats
;
private
Collection
<
ClassLoaderVO
>
matchedClassLoaders
;
private
String
classLoaderClass
;
//urls stat
private
Map
<
ClassLoaderVO
,
ClassLoaderUrlStat
>
urlStats
;
public
ClassLoaderModel
()
{
}
@Override
public
String
getType
()
{
return
"classloader"
;
}
public
ClassSetVO
getClassSet
()
{
return
classSet
;
}
public
ClassLoaderModel
setClassSet
(
ClassSetVO
classSet
)
{
this
.
classSet
=
classSet
;
return
this
;
}
public
List
<
String
>
getResources
()
{
return
resources
;
}
public
ClassLoaderModel
setResources
(
List
<
String
>
resources
)
{
this
.
resources
=
resources
;
return
this
;
}
public
ClassDetailVO
getLoadClass
()
{
return
loadClass
;
}
public
ClassLoaderModel
setLoadClass
(
ClassDetailVO
loadClass
)
{
this
.
loadClass
=
loadClass
;
return
this
;
}
public
List
<
String
>
getUrls
()
{
return
urls
;
}
public
ClassLoaderModel
setUrls
(
List
<
String
>
urls
)
{
this
.
urls
=
urls
;
return
this
;
}
public
List
<
ClassLoaderVO
>
getClassLoaders
()
{
return
classLoaders
;
}
public
ClassLoaderModel
setClassLoaders
(
List
<
ClassLoaderVO
>
classLoaders
)
{
this
.
classLoaders
=
classLoaders
;
return
this
;
}
public
Boolean
getTree
()
{
return
tree
;
}
public
ClassLoaderModel
setTree
(
Boolean
tree
)
{
this
.
tree
=
tree
;
return
this
;
}
public
Map
<
String
,
ClassLoaderStat
>
getClassLoaderStats
()
{
return
classLoaderStats
;
}
public
ClassLoaderModel
setClassLoaderStats
(
Map
<
String
,
ClassLoaderStat
>
classLoaderStats
)
{
this
.
classLoaderStats
=
classLoaderStats
;
return
this
;
}
public
String
getClassLoaderClass
()
{
return
classLoaderClass
;
}
public
ClassLoaderModel
setClassLoaderClass
(
String
classLoaderClass
)
{
this
.
classLoaderClass
=
classLoaderClass
;
return
this
;
}
public
Collection
<
ClassLoaderVO
>
getMatchedClassLoaders
()
{
return
matchedClassLoaders
;
}
public
ClassLoaderModel
setMatchedClassLoaders
(
Collection
<
ClassLoaderVO
>
matchedClassLoaders
)
{
this
.
matchedClassLoaders
=
matchedClassLoaders
;
return
this
;
}
public
Map
<
ClassLoaderVO
,
ClassLoaderUrlStat
>
getUrlStats
()
{
return
urlStats
;
}
public
void
setUrlStats
(
Map
<
ClassLoaderVO
,
ClassLoaderUrlStat
>
urlStats
)
{
this
.
urlStats
=
urlStats
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/ClassLoaderVO.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/21
*/
public
class
ClassLoaderVO
{
private
String
name
;
private
String
hash
;
private
String
parent
;
private
Integer
loadedCount
;
private
Integer
numberOfInstances
;
private
List
<
ClassLoaderVO
>
children
;
public
ClassLoaderVO
()
{
}
public
void
addChild
(
ClassLoaderVO
child
){
if
(
this
.
children
==
null
){
this
.
children
=
new
ArrayList
<
ClassLoaderVO
>();
}
this
.
children
.
add
(
child
);
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getHash
()
{
return
hash
;
}
public
void
setHash
(
String
hash
)
{
this
.
hash
=
hash
;
}
public
String
getParent
()
{
return
parent
;
}
public
void
setParent
(
String
parent
)
{
this
.
parent
=
parent
;
}
public
Integer
getLoadedCount
()
{
return
loadedCount
;
}
public
void
setLoadedCount
(
Integer
loadedCount
)
{
this
.
loadedCount
=
loadedCount
;
}
public
Integer
getNumberOfInstances
()
{
return
numberOfInstances
;
}
public
void
setNumberOfInstances
(
Integer
numberOfInstances
)
{
this
.
numberOfInstances
=
numberOfInstances
;
}
public
List
<
ClassLoaderVO
>
getChildren
()
{
return
children
;
}
public
void
setChildren
(
List
<
ClassLoaderVO
>
children
)
{
this
.
children
=
children
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/ClassSetVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
java.util.Collection
;
/**
* @author gongdewei 2020/4/21
*/
public
class
ClassSetVO
implements
Countable
{
private
ClassLoaderVO
classloader
;
private
Collection
<
String
>
classes
;
private
int
segment
;
public
ClassSetVO
(
ClassLoaderVO
classloader
,
Collection
<
String
>
classes
)
{
this
(
classloader
,
classes
,
0
);
}
public
ClassSetVO
(
ClassLoaderVO
classloader
,
Collection
<
String
>
classes
,
int
segment
)
{
this
.
classloader
=
classloader
;
this
.
classes
=
classes
;
this
.
segment
=
segment
;
}
public
ClassLoaderVO
getClassloader
()
{
return
classloader
;
}
public
void
setClassloader
(
ClassLoaderVO
classloader
)
{
this
.
classloader
=
classloader
;
}
public
Collection
<
String
>
getClasses
()
{
return
classes
;
}
public
void
setClasses
(
Collection
<
String
>
classes
)
{
this
.
classes
=
classes
;
}
public
int
getSegment
()
{
return
segment
;
}
public
void
setSegment
(
int
segment
)
{
this
.
segment
=
segment
;
}
@Override
public
int
size
()
{
return
classes
!=
null
?
classes
.
size
()
:
1
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/ClassVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* @author gongdewei 2020/4/8
*/
public
class
ClassVO
{
private
String
name
;
private
String
[]
classloader
;
private
String
classLoaderHash
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
[]
getClassloader
()
{
return
classloader
;
}
public
void
setClassloader
(
String
[]
classloader
)
{
this
.
classloader
=
classloader
;
}
public
String
getClassLoaderHash
()
{
return
classLoaderHash
;
}
public
void
setClassLoaderHash
(
String
classLoaderHash
)
{
this
.
classLoaderHash
=
classLoaderHash
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/CommandOptionVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* @author gongdewei 2020/4/3
*/
public
class
CommandOptionVO
{
/**
* the option long name.
*/
private
String
longName
;
/**
* the option short name.
*/
private
String
shortName
;
/**
* The option description.
*/
private
String
description
;
/**
* whether or not the option receives a single value or multiple values.
*/
private
boolean
acceptValue
;
public
CommandOptionVO
()
{
}
public
String
getLongName
()
{
return
longName
;
}
public
void
setLongName
(
String
longName
)
{
this
.
longName
=
longName
;
}
public
String
getShortName
()
{
return
shortName
;
}
public
void
setShortName
(
String
shortName
)
{
this
.
shortName
=
shortName
;
}
public
String
getDescription
()
{
return
description
;
}
public
void
setDescription
(
String
description
)
{
this
.
description
=
description
;
}
public
boolean
isAcceptValue
()
{
return
acceptValue
;
}
public
void
setAcceptValue
(
boolean
acceptValue
)
{
this
.
acceptValue
=
acceptValue
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/CommandRequestModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
com.taobao.arthas.core.shell.term.impl.http.api.ApiState
;
/**
* Command async exec process result, not the command exec result
* @author gongdewei 2020/4/2
*/
public
class
CommandRequestModel
extends
ResultModel
{
private
ApiState
state
;
private
String
command
;
private
String
message
;
public
CommandRequestModel
(
String
command
,
ApiState
state
)
{
this
.
command
=
command
;
this
.
state
=
state
;
}
public
CommandRequestModel
(
String
command
,
ApiState
state
,
String
message
)
{
this
.
state
=
state
;
this
.
command
=
command
;
this
.
message
=
message
;
}
public
String
getCommand
()
{
return
command
;
}
public
void
setCommand
(
String
command
)
{
this
.
command
=
command
;
}
public
ApiState
getState
()
{
return
state
;
}
public
void
setState
(
ApiState
state
)
{
this
.
state
=
state
;
}
public
String
getMessage
()
{
return
message
;
}
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
}
@Override
public
String
getType
()
{
return
"command"
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/CommandVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
com.taobao.middleware.cli.CLI
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author gongdewei 2020/4/3
*/
public
class
CommandVO
{
//TODO remove cli
private
transient
CLI
cli
;
private
String
name
;
private
String
description
;
private
String
usage
;
private
String
summary
;
private
List
<
CommandOptionVO
>
options
=
new
ArrayList
<
CommandOptionVO
>();
private
List
<
ArgumentVO
>
arguments
=
new
ArrayList
<
ArgumentVO
>();
public
CommandVO
()
{
}
public
CommandVO
(
String
name
,
String
description
)
{
this
.
name
=
name
;
this
.
description
=
description
;
}
public
CommandVO
addOption
(
CommandOptionVO
optionVO
){
this
.
options
.
add
(
optionVO
);
return
this
;
}
public
CommandVO
addArgument
(
ArgumentVO
argumentVO
){
this
.
arguments
.
add
(
argumentVO
);
return
this
;
}
public
CLI
cli
()
{
return
cli
;
}
public
void
setCli
(
CLI
cli
)
{
this
.
cli
=
cli
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getDescription
()
{
return
description
;
}
public
void
setDescription
(
String
description
)
{
this
.
description
=
description
;
}
public
String
getUsage
()
{
return
usage
;
}
public
void
setUsage
(
String
usage
)
{
this
.
usage
=
usage
;
}
public
String
getSummary
()
{
return
summary
;
}
public
void
setSummary
(
String
summary
)
{
this
.
summary
=
summary
;
}
public
List
<
CommandOptionVO
>
getOptions
()
{
return
options
;
}
public
void
setOptions
(
List
<
CommandOptionVO
>
options
)
{
this
.
options
=
options
;
}
public
List
<
ArgumentVO
>
getArguments
()
{
return
arguments
;
}
public
void
setArguments
(
List
<
ArgumentVO
>
arguments
)
{
this
.
arguments
=
arguments
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/Countable.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* Item countable for ResultModel
* @author gongdewei 2020/6/8
*/
public
interface
Countable
{
/**
* Get item size of this result model, the value of size is greater than or equal to 1
* @return item size of this result model
*/
int
size
();
}
core/src/main/java/com/taobao/arthas/core/command/model/DashboardModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
java.util.List
;
import
java.util.Map
;
/**
* Model of 'dashboard' command
* @author gongdewei 2020/4/22
*/
public
class
DashboardModel
extends
ResultModel
{
private
List
<
ThreadVO
>
threads
;
private
Map
<
String
,
List
<
MemoryEntryVO
>>
memoryInfo
;
private
List
<
GcInfoVO
>
gcInfos
;
private
RuntimeInfoVO
runtimeInfo
;
private
TomcatInfoVO
tomcatInfo
;
@Override
public
String
getType
()
{
return
"dashboard"
;
}
public
List
<
ThreadVO
>
getThreads
()
{
return
threads
;
}
public
void
setThreads
(
List
<
ThreadVO
>
threads
)
{
this
.
threads
=
threads
;
}
public
Map
<
String
,
List
<
MemoryEntryVO
>>
getMemoryInfo
()
{
return
memoryInfo
;
}
public
void
setMemoryInfo
(
Map
<
String
,
List
<
MemoryEntryVO
>>
memoryInfo
)
{
this
.
memoryInfo
=
memoryInfo
;
}
public
List
<
GcInfoVO
>
getGcInfos
()
{
return
gcInfos
;
}
public
void
setGcInfos
(
List
<
GcInfoVO
>
gcInfos
)
{
this
.
gcInfos
=
gcInfos
;
}
public
RuntimeInfoVO
getRuntimeInfo
()
{
return
runtimeInfo
;
}
public
void
setRuntimeInfo
(
RuntimeInfoVO
runtimeInfo
)
{
this
.
runtimeInfo
=
runtimeInfo
;
}
public
TomcatInfoVO
getTomcatInfo
()
{
return
tomcatInfo
;
}
public
void
setTomcatInfo
(
TomcatInfoVO
tomcatInfo
)
{
this
.
tomcatInfo
=
tomcatInfo
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/DumpClassModel.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/21
*/
public
class
DumpClassModel
extends
ResultModel
{
private
List
<
DumpClassVO
>
dumpedClasses
;
private
Collection
<
ClassVO
>
matchedClasses
;
private
Collection
<
ClassLoaderVO
>
matchedClassLoaders
;
private
String
classLoaderClass
;
public
DumpClassModel
()
{
}
@Override
public
String
getType
()
{
return
"dump"
;
}
public
List
<
DumpClassVO
>
getDumpedClasses
()
{
return
dumpedClasses
;
}
public
DumpClassModel
setDumpedClasses
(
List
<
DumpClassVO
>
dumpedClasses
)
{
this
.
dumpedClasses
=
dumpedClasses
;
return
this
;
}
public
Collection
<
ClassVO
>
getMatchedClasses
()
{
return
matchedClasses
;
}
public
DumpClassModel
setMatchedClasses
(
Collection
<
ClassVO
>
matchedClasses
)
{
this
.
matchedClasses
=
matchedClasses
;
return
this
;
}
public
String
getClassLoaderClass
()
{
return
classLoaderClass
;
}
public
DumpClassModel
setClassLoaderClass
(
String
classLoaderClass
)
{
this
.
classLoaderClass
=
classLoaderClass
;
return
this
;
}
public
Collection
<
ClassLoaderVO
>
getMatchedClassLoaders
()
{
return
matchedClassLoaders
;
}
public
DumpClassModel
setMatchedClassLoaders
(
Collection
<
ClassLoaderVO
>
matchedClassLoaders
)
{
this
.
matchedClassLoaders
=
matchedClassLoaders
;
return
this
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/DumpClassVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* Dumped class VO
* @author gongdewei 2020/7/9
*/
public
class
DumpClassVO
extends
ClassVO
{
private
String
location
;
public
String
getLocation
()
{
return
location
;
}
public
void
setLocation
(
String
location
)
{
this
.
location
=
location
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/EchoModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* @author gongdewei 2020/5/11
*/
public
class
EchoModel
extends
ResultModel
{
private
String
content
;
public
EchoModel
()
{
}
public
EchoModel
(
String
content
)
{
this
.
content
=
content
;
}
@Override
public
String
getType
()
{
return
"echo"
;
}
public
String
getContent
()
{
return
content
;
}
public
void
setContent
(
String
content
)
{
this
.
content
=
content
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/EnhancerAffectVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
com.taobao.arthas.core.GlobalOptions
;
import
com.taobao.arthas.core.util.affect.EnhancerAffect
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Class enhance affect vo
* @author gongdewei 2020/6/22
*/
public
class
EnhancerAffectVO
{
private
final
long
cost
;
private
final
int
methodCount
;
private
final
int
classCount
;
private
final
long
listenerId
;
private
Throwable
throwable
;
private
List
<
String
>
classDumpFiles
;
private
List
<
String
>
methods
;
public
EnhancerAffectVO
(
EnhancerAffect
affect
)
{
this
.
cost
=
affect
.
cost
();
this
.
classCount
=
affect
.
cCnt
();
this
.
methodCount
=
affect
.
mCnt
();
this
.
listenerId
=
affect
.
getListenerId
();
this
.
throwable
=
affect
.
getThrowable
();
if
(
GlobalOptions
.
isDump
)
{
classDumpFiles
=
new
ArrayList
<
String
>();
for
(
File
classDumpFile
:
affect
.
getClassDumpFiles
())
{
classDumpFiles
.
add
(
classDumpFile
.
getAbsolutePath
());
}
}
if
(
GlobalOptions
.
verbose
)
{
methods
=
new
ArrayList
<
String
>();
methods
.
addAll
(
affect
.
getMethods
());
}
}
public
EnhancerAffectVO
(
long
cost
,
int
methodCount
,
int
classCount
,
long
listenerId
)
{
this
.
cost
=
cost
;
this
.
methodCount
=
methodCount
;
this
.
classCount
=
classCount
;
this
.
listenerId
=
listenerId
;
}
public
long
getCost
()
{
return
cost
;
}
public
int
getClassCount
()
{
return
classCount
;
}
public
int
getMethodCount
()
{
return
methodCount
;
}
public
long
getListenerId
()
{
return
listenerId
;
}
public
Throwable
getThrowable
()
{
return
throwable
;
}
public
void
setThrowable
(
Throwable
throwable
)
{
this
.
throwable
=
throwable
;
}
public
List
<
String
>
getClassDumpFiles
()
{
return
classDumpFiles
;
}
public
void
setClassDumpFiles
(
List
<
String
>
classDumpFiles
)
{
this
.
classDumpFiles
=
classDumpFiles
;
}
public
List
<
String
>
getMethods
()
{
return
methods
;
}
public
void
setMethods
(
List
<
String
>
methods
)
{
this
.
methods
=
methods
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/EnhancerModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
com.taobao.arthas.core.util.affect.EnhancerAffect
;
/**
* Data model of EnhancerCommand
*
* @author gongdewei 2020/7/20
*/
public
class
EnhancerModel
extends
ResultModel
{
private
final
EnhancerAffectVO
effect
;
private
boolean
success
;
private
String
message
;
public
EnhancerModel
(
EnhancerAffect
effect
,
boolean
success
)
{
if
(
effect
!=
null
)
{
this
.
effect
=
new
EnhancerAffectVO
(
effect
);
this
.
success
=
success
;
}
else
{
this
.
effect
=
new
EnhancerAffectVO
(-
1
,
0
,
0
,
-
1
);
this
.
success
=
false
;
}
}
public
EnhancerModel
(
EnhancerAffect
effect
,
boolean
success
,
String
message
)
{
this
(
effect
,
success
);
this
.
message
=
message
;
}
@Override
public
String
getType
()
{
return
"enhancer"
;
}
public
EnhancerAffectVO
getEffect
()
{
return
effect
;
}
public
boolean
isSuccess
()
{
return
success
;
}
public
String
getMessage
()
{
return
message
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/FieldVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* @author gongdewei 2020/4/8
*/
public
class
FieldVO
{
private
String
name
;
private
String
type
;
private
String
modifier
;
private
String
[]
annotations
;
private
ObjectVO
value
;
private
boolean
isStatic
;
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getType
()
{
return
type
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
String
getModifier
()
{
return
modifier
;
}
public
void
setModifier
(
String
modifier
)
{
this
.
modifier
=
modifier
;
}
public
ObjectVO
getValue
()
{
return
value
;
}
public
void
setValue
(
ObjectVO
value
)
{
this
.
value
=
value
;
}
public
String
[]
getAnnotations
()
{
return
annotations
;
}
public
void
setAnnotations
(
String
[]
annotations
)
{
this
.
annotations
=
annotations
;
}
public
boolean
isStatic
()
{
return
isStatic
;
}
public
void
setStatic
(
boolean
aStatic
)
{
isStatic
=
aStatic
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/GcInfoVO.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
/**
* GC info of dashboard
* @author gongdewei 2020/4/23
*/
public
class
GcInfoVO
{
private
String
name
;
private
long
collectionCount
;
private
long
collectionTime
;
public
GcInfoVO
(
String
name
,
long
collectionCount
,
long
collectionTime
)
{
this
.
name
=
name
;
this
.
collectionCount
=
collectionCount
;
this
.
collectionTime
=
collectionTime
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
long
getCollectionCount
()
{
return
collectionCount
;
}
public
void
setCollectionCount
(
long
collectionCount
)
{
this
.
collectionCount
=
collectionCount
;
}
public
long
getCollectionTime
()
{
return
collectionTime
;
}
public
void
setCollectionTime
(
long
collectionTime
)
{
this
.
collectionTime
=
collectionTime
;
}
}
core/src/main/java/com/taobao/arthas/core/command/model/GetStaticModel.java
0 → 100644
View file @
5d7c4150
package
com.taobao.arthas.core.command.model
;
import
java.util.Collection
;
/**
* Data model of GetStaticCommand
* @author gongdewei 2020/4/20
*/
public
class
GetStaticModel
extends
ResultModel
{
private
Collection
<
ClassVO
>
matchedClasses
;
private
String
fieldName
;
private
ObjectVO
field
;
private
Collection
<
ClassLoaderVO
>
matchedClassLoaders
;
private
String
classLoaderClass
;
public
GetStaticModel
()
{
}
public
GetStaticModel
(
String
fieldName
,
Object
fieldValue
,
int
expand
)
{
this
.
fieldName
=
fieldName
;
this
.
field
=
new
ObjectVO
(
fieldValue
,
expand
);
}
public
GetStaticModel
(
Collection
<
ClassVO
>
matchedClasses
)
{
this
.
matchedClasses
=
matchedClasses
;
}
public
ObjectVO
getField
()
{
return
field
;
}
public
void
setField
(
ObjectVO
field
)
{
this
.
field
=
field
;
}
public
String
getFieldName
()
{
return
fieldName
;
}
public
void
setFieldName
(
String
fieldName
)
{
this
.
fieldName
=
fieldName
;
}
public
Collection
<
ClassVO
>
getMatchedClasses
()
{
return
matchedClasses
;
}
public
void
setMatchedClasses
(
Collection
<
ClassVO
>
matchedClasses
)
{
this
.
matchedClasses
=
matchedClasses
;
}
public
String
getClassLoaderClass
()
{
return
classLoaderClass
;
}
public
GetStaticModel
setClassLoaderClass
(
String
classLoaderClass
)
{
this
.
classLoaderClass
=
classLoaderClass
;
return
this
;
}
public
Collection
<
ClassLoaderVO
>
getMatchedClassLoaders
()
{
return
matchedClassLoaders
;
}
public
GetStaticModel
setMatchedClassLoaders
(
Collection
<
ClassLoaderVO
>
matchedClassLoaders
)
{
this
.
matchedClassLoaders
=
matchedClassLoaders
;
return
this
;
}
@Override
public
String
getType
()
{
return
"getstatic"
;
}
}
Prev
1
…
11
12
13
14
15
16
17
18
19
…
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