Shadowtail is a Java/Spring framework for gathering numerical data (statistics) about a Java application, and writing the data to files. It is particularly useful as a source of data to feed Orca, the free tool for plotting textual data onto a directory on a Web server.

Why would you want to use Shadowtail? Shadowtail helps you to monitor your software application or service by logging application and application container data over time. The data format is suitable for plotting or for analysis. Suppose you have a web application selling widgets. Your sales manager would like to monitor and record application data on turnover and number of widgets sold, analyzed by day, week and month. Your operations manager would like to monitor JVM data on heap usage and number of classes loaded. A combination of Shadowtail, Java MBeans in your web app, and Orca will give you the data in raw format and in graphs.

Here is an example graph produced by Orca from data logged by Shadowtail from an MBean monitoring a count of widget sales in a Java application.

Use Shadowtail to capture web app data that you wish to persist. JConsole gives you a snapshot of the data, but Shadowtail and Orca give you a picture over time. Here are some plots produced by Shadowtail and Orca of the JVM of a Tomcat instance.

Shadowtail provides Java classes and example Spring configurations to gather and record:

  • timestamp data

  • MBeans data from a remote server via JMX

Shadowtail was written by John Cooke of Black Pepper Software and prepared for open sourcing by Julia Dain and David Johnson, also of Black Pepper Software.

Shadowtail's model consists of statistics, groups of statistics, files, and loggers. A statistic is the basic unit of data collection. Statistics are organized into groups. Groups can be organized into hierarchical trees. The statistics data of a group is written to a file by a logger. The pathname of the file is determined by a file factory and the group. A model can be instantiated by Spring configuration or by program.

Copyright and License

Copyright (C) 2009 Black Pepper Software Ltd. Author: John Cooke, Black Pepper Software Ltd. Comments, questions and bug reports should be submitted via More details can be found at the project home page: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, visit