AWACS is a non-intrusive Java APM.
- Realtime monitoring
- No SDK dependence for users
- Plugin based architecture
- Little performance effect
- Support custom plugin
- Easy to deploy
-
Compile & Extract
cd awacs git checkout 0.1.11 mvn clean package -Dmaven.test.skip=true cd awacs-server/target && unzip awacs-server.zip
-
AWACS defaults use MongoDB as data storage, so we need start MongoDB before
-
Edit awacs-server/conf/awacs.properties and modify MongoDB's host and port(default is 127.0.0.1:27017)
-
Start AWACS
sh /path/to/awacs/awacs-server/bin/start.sh
-
AWACS includes a simple springmvc webapp demo, simply start:
java -javaagent:/path/to/awacs/awacs-agent/target/awacs-agent.jar=http://127.0.0.1:7200 -jar /path/to/awacs/demo-with-spring/target/demo-with-spring-1.0.0.jar
-
Test webapp and check MongoDB
curl 127.0.0.1:8080/v1/test/hello curl 127.0.0.1:8080/v1/img mongo db.stacktrace.find().pretty() { "_id" : ObjectId("58fa2096c2aac76c70c1ca6e"), "stack" : { "caller" : "io.awacs.demo.TestController#test2", "subMethods" : [ { "caller" : "io.awacs.demo.TestController#bis1", "subMethods" : [ { "caller" : "io.awacs.demo.TestController#bis2", "subMethods" : [ ], "callCount" : 1, "timestamp" : NumberLong("1492787342081"), "elapsedTime" : 101 } ], "callCount" : 1, "timestamp" : NumberLong("1492787341581"), "elapsedTime" : 601 } ], "callCount" : 1, "timestamp" : NumberLong("1492787341581"), "elapsedTime" : 601 }, "host" : "127.0.0.1", "pid" : 93432, "thread" : "qtp1349414238-26", "timestamp" : 1492787342 }
- Zhang Yu @archerfeel
- An Tong @antong530
- Chen Lei @dalvikchen
- Wang Li @waally