HomePhabricator

Introduce Gerrit Inspector: interactive Jython shell

Authored by saper on Apr 17 2012, 4:24 PM.

Description

Introduce Gerrit Inspector: interactive Jython shell

Adds "-s" option to com.google.gerrit.pgm.Daemon to start an interactive
Jython shell for inspection and troubleshooting of live data of the
Gerrit instance.

Gerrit Inspector is an interactive scriptable environment to inspect and
modify internal state of the system. This environment is available on
the system console after the system starts. Leaving the Inspector will
shutdown the Gerrit instance.

The environment allows interactive work as well as running of Python
scripts for troubleshooting. Accessing Java Virtual Machine objects
and calling Java methods is possible.

Gerrit Inspect can be started by adding -s option to the command used to
launch the daemon:

java -jar buck-out/gen/gerrit.war daemon -d ../test_site -s

For more information on this facility please see:

Documentation/dev-inspector.txt

Implementation remark:

Jython needs to examine available .jar files on startup. It does so
currently by reading contents of the WAR archive unpacked by GerritLauncher
in the temporary directory. Jython is able to store this information
persistently, but it does not currently work because we unpack WAR
file every time on startup.

Currently no attempt is made to introspect Guice bindings.

Change-Id: I47ffc8383fd50bc6ec12ba31edb6d7d614e97bd5

Details

Event Timeline