%in tembisa+277-882-255-28 abortion pills for sale in tembisa
Â
DIY Java Profiler
1. Java profiling
Do It Yourself
Alexey Ragozin
alexey.ragozin@gmail.com
2. JVM diagnostic interfaces
⢠JMX
⢠JVMTI â native API only
⢠Attach API
ďź Ad hoc instrumentation
ďź and more
⢠Perf counters
⢠Heap dump
3. MBeans: threading
ď§ CPU usage per thread (user / sys)
ď§ Memory allocation per thread
ď§ Block / wait times
ďź Should be enabled
ď§ Stack traces
Invaluable
7. JVM Attach API
⢠List JVM processes
⢠Attach to JVM by PID
⢠Send control commands
ďź heap dump / histogram
ďź stack dump
⢠Inspect system properties and VM options
⢠Launch instrumentation agents
https://github.com/gridkit/jvm-attach
8. SJK: hh --dead
Dead object histogram
ď§ Similar to jmap âhisto
ď§ Invoke jmap âhisto two time
ďź all heap objects
ďź live heap object
ďź calculates difference
ď§ Can show top N rows
https://github.com/aragozin/jvm-tools/blob/master/sjk-core/COMMANDS.md#hh-command
10. SJK: jps
JDKâs jps on steroid
ď§ Uses attach API
ď§ Lists VMs
ď§ Filtering by JVM system properties
ď§ Prints property values
ď§ Prints effective âXX options
https://github.com/aragozin/jvm-tools/blob/master/sjk-core/COMMANDS.md#jps-command
12. Perf counters
ď§ Based on shared memory
ďź safe for target JVM
ď§ Flat data model
ďź misc JVM counters
ďź true GC CPU usage data
ďź you can add own counter programmatically
13. Stack Trace Sampling
Capture
⢠Dump stack traces via local connection
⢠Store in highly compressed dump
Analysis
⢠Frame frequency
⢠Conditional frame frequency
⢠Traces classification histogram
15. Working with heap dumps
Java API to traverse heap dump object graph
Available at https://github.com/aragozin/jvm-tools/tree/master/hprof-heap
ď§ Based on NetBeans profiler library
ď§ No temporary files used
ď§ Fixed generic method signatures
ď§ Improved performance
Useful for
ď§ In-place processing of large heap dumps
ď§ Write domain specific heap usage reports
16. SJK Summary
Visit https://github.com/aragozin/jvm-tools
ď§ Single executable JAR
ď§ Command line interface
ď§ Exploits JMX / Attach API / PerfCounters
ď§ Simple sampling profiler included
ď§ Extensible commands
ďźWrite commands for your own application
19. Thank you
Alexey Ragozin
http://blog.ragozin.info
- my articles
http://aragozin.timepad.ru
- IT community events in Moscow
alexey.ragozin@gmail.com