Skip to content
This repository was archived by the owner on Mar 14, 2019. It is now read-only.

Commit 7383aea

Browse files
committed
Deprecate HouseMD
1 parent 6ddf882 commit 7383aea

File tree

1 file changed

+3
-116
lines changed

1 file changed

+3
-116
lines changed

README.md

+3-116
Original file line numberDiff line numberDiff line change
@@ -1,118 +1,5 @@
1-
[中文使用指南](https://github.com/zhongl/HouseMD/wiki/UserGuideCN)
1+
# Sorry guys, HouseMD may not be updated any more except merging PR.
22

3-
HouseMD is a interactive command-line tool for dianosing Java process in runtime.
4-
It's inspiration came from [BTrace](http://kenai.com/projects/btrace), but more easier to use and more safer.
3+
# I highly recommend [Grey anatomy](https://github.com/oldmanpushcart/greys-anatomy) If you are looking for a tool like HouseMD.
54

6-
# Features
7-
8-
- Display loaded classes information
9-
- name
10-
- source file(.class or .jar)
11-
- classloaders
12-
- Display invocation trace summary
13-
- method full name and sign
14-
- class loader of method declaring class
15-
- total invoked times
16-
- avg elapse millis
17-
- self instance
18-
- Output invocation detail
19-
- timestamp
20-
- elapse millis
21-
- call thread
22-
- this object
23-
- class name
24-
- method name
25-
- arguments
26-
- result or exception
27-
- Output invocation stack trace
28-
- Display object field value
29-
- Display enviroment variable
30-
- Auto-completion by typing `Tab`
31-
- navigate command history by up and down, and support `Ctrl + R` for searching
32-
- Awesome features you can provide by forking me
33-
34-
[Test cases](https://github.com/zhongl/HouseMD/blob/master/src/test/scala/com/github/zhongl/housemd) would show more specification details.
35-
36-
# Getting started
37-
38-
## Pre-requirement
39-
40-
- JDK 6
41-
- [sbt](https://github.com/harrah/xsbt)
42-
43-
## Install from [jenv](https://github.com/linux-china/jenv)
44-
45-
- install [jenv](https://github.com/linux-china/jenv)
46-
- execute command line: `$ jenv install housemd`
47-
48-
> Caution: Windows are not supported yet.
49-
50-
51-
# How to use
52-
53-
54-
> housemd -h
55-
56-
A help infomation shows up like:
57-
58-
Usage: housemd [OPTIONS] pid
59-
a runtime diagnosis tool of JVM.
60-
Options:
61-
-h, --help
62-
show help infomation of this command.
63-
-p, --port=[INT]
64-
set console local socket server port number.
65-
default: 54321
66-
Parameters:
67-
pid
68-
id of process to be diagnosing.
69-
70-
71-
Suppost your target pid is `1234` (you can use `jps` or `ps` get it), and then input:
72-
73-
> ./housemd 1234
74-
75-
After seen prompt `housemd>`, input `help` then you get help infomation like this:
76-
77-
housemd> help
78-
79-
quit terminate the process.
80-
help display this infomation.
81-
trace display or output infomation of method invocaton.
82-
loaded display loaded classes information.
83-
env display system env.
84-
inspect display fields of a class.
85-
86-
You can also input `help loaded` and get help infomation of `loaded` as blow:
87-
88-
housemd> help loaded
89-
Usage: loaded [OPTIONS] name
90-
display loaded classes information.
91-
Options:
92-
-h, --classloader-hierarchies
93-
display classloader hierarchies of loaded class.
94-
Parameters:
95-
name
96-
class name without package name.
97-
98-
# More about commands
99-
100-
[Click here](https://github.com/zhongl/housemd/wiki/usecases) to see the use cases.
101-
102-
# Build from code
103-
104-
$ git clone https://github.com/zhongl/HouseMD.git housemd
105-
$ cd housemd
106-
$ sbt proguard
107-
108-
A runnable jar named `housemd_x.x.x-x.x.x.min.jar` should be generated blow `target/scala-x.x.x/`
109-
110-
111-
## Run it
112-
113-
$ java -Xbootclasspath/a:$JAVA_HOME/lib/tools.jar -jar housemd_x.x.x-x.x.x.min.jar [OPTIONS] <pid>
114-
115-
> Caution: In Mac OSX, the `-Xbootclasspath` is no needed.
116-
> You can created launch script as a shortcut.
117-
118-
Having fun!
5+
[README moved here.](https://github.com/CSUG/HouseMD/wiki/readme)

0 commit comments

Comments
 (0)