Skip to content

Commit

Permalink
improve readme
Browse files Browse the repository at this point in the history
  • Loading branch information
jfager committed Oct 1, 2013
1 parent a46218c commit 438767d
Showing 1 changed file with 14 additions and 17 deletions.
31 changes: 14 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,32 @@
A scripting interface for the Java Debugger Interface (JDI).
A scripting frontend for the Java Debugger Interface (JDI).

An example of a real-world use case is available in a post
[introducing jdiscript](http://jasonfager.com/888-introducing-jdiscript/), which finds thread
contention in the [Cassandra](http://cassandra.apache.org/) write path. At this point Cassandra
itself has moved on, but the jdiscript stuff is still correct.

Right now, jdiscript provides:

- An event-loop/dispatcher that allows you to specify handlers to respond to
events from particular EventRequests.

- A set of interfaces and a dynamic proxy for chaining Request configuration
method calls.

- A set of single-method handler interfaces that are easy to implement as
closures in several of the higher-level languages.
closures in other languages available on the jvm.

- Utility classes for launching a new VM and handling its process input and
output, or attaching to an existing VM.

- A top-level script object that allows transparent use of jdiscript features
and easy access to frequently used operations.

- A top-level script object that allows easy access to frequently used operations.

jdiscript is intended to be used by whichever higher-level JVM language you
prefer, and is itself pure Java, with no dependencies outside of jdk6. Some
sample Groovy scripts are provided to get you started, but there's no reason
you couldn't use JRuby, Clojure, Scala, etc. If you run into problems with
jdiscript is pure Java, with no dependencies outside of jdk6/7. Some
sample scripts in other languages are provided to get you started, including
Groovy, JRuby, Clojure, and Scala. If you run into problems with
your language of choice, or you have ideas for how a common idiom in your
language could be better supported by the underlying Java implementation,
please let me know.

I'd also love to start collecting generally useful scripts into one place, and
I'd also like to start collecting generally useful scripts into one place, and
creating a comprehensive debugging catalogue that anyone can dip into to help
troubleshoot their code more efficiently. If you have one you'd like to share,
drop it into a gist and link to it from the [wiki page](http://wiki.github.com/jfager/jdiscript/useful-jdiscripts).

If you'd like to discuss jdiscript, a [mailing list](http://groups.google.com/group/jdiscript) is up over at Google groups. All feedback welcome and requested.

drop it into a gist and I will link to it from the
[wiki page](http://wiki.github.com/jfager/jdiscript/useful-jdiscripts).

0 comments on commit 438767d

Please sign in to comment.