Components
The Report Writer
The trafMon report production merely relies on the public-domain Eclipse/BIRT application.
BIRT (https://www.eclipse.org/birt/) provides two environments: a Designer and a Runtime Engine accompanied by a Report Viewer.
The BIRT Designer, either an add-on Perspective to the Eclipse Java Development Environment or a stand-alone shrink wrapped tool, allows to draw, tune, update and pre-test report templates based on a variety of data sources, among others the MySQL JDBC connector interface.
The BIRT Runtime Engine embeds a J2EE application that can be added to an appropriate Web server like Apache Tomcat, for interactive access. But it also contains a commandline interface genreport.sh which executes one run of the Java program to produce one instantiation of a report template saved in a file.
The trafMon user is able to create and adapt his own report templates thanks to the Eclipse BIRT open-source Designer. However, a set of pre-designed BIRT report templates have been produced, with standardised arguments and some tricky JavaScript code.
The set of pre-designed report templates provided in the trafMon distribution presents a large number of report parameters whose meaningful values depend on available data in the trafMon MySQL database. For on-demand report generation, to simplify the interactive browsing and drill-down of report figures, the user is presented with an interactive menu bar at the top of his Web browser window. This is a basic JavaScript/AngularJS/JQuery and PHP web application produced for the Apache HTTP Server. The content of its pull-down menus is dynamically fetched from the database upon choices made in other widgets of the menu bar.
The user can then launch the Tomcat/BIRT report generation for display in the frame below, either a a single Web page, or paginated via the BIRT Report Viewer. With is Viewer, the user can also print/save report (pages) as PDF or other document format, or download underlying dataset as CSV for import in Excel or other spreadsheet.
To illustrate the capability of batch production of report documents, two example scripts, respectively for synthesis reports and for protocol details reports, are also provided with the trafMon distribution. These run can be scheduled by crontab tasks with appropriate arguments. The script that produced the reports on protocol detailed observations can be associated a configuration file with IP address patterns to significantly restrict the set of report instances to produce.