The Inventory bundle registers InventoryPrinter Services with PID org.apache.felix.inventory.InventoryPrinter.
Overview
The InventoryPrinter Service comes from the Util Inventory bundle, which registers several org.apache.felix.inventory.InventoryPrinter services.
All provided inventory printers are listed from Status/Overview menu of our Web Admin Console.
Registering Bundle
This service is registered by Util Inventory Bundle.
Inventory Printers
The Util Inventory Bundle provides the following inventories:
Benchmarks
This printer is using the data, collected from the Benchmark Utility and prints it using both text and JSON formats. It allows the developers to examine the runtime performance of modules, that supports benchmarking.
Log Files
This printer uses the RemoteLogReader to download the log files from OSGi Log Bundle. The output of the printer is not visible in the web console, but in the available log files, that will be attached, if the user downloads the zip file.
FW Commands
The printer uses a file named fwcommands.txt, that should be placed in the folder, from which the framework is started. Then each line from this file is read and executed, using the parser service.
Lines, that start with the "#" symbol, or empty lines are ignored.
The output of the commands is attached. In this way if the printer is opened using the web console, the result will not be seen. Download the zip file, where the output of each command will be in a separate file. Set the system property "fw.web.console.fwcommands.config" to choose a file, different from fwcommands.txt.
OS Commands
The printer uses a file named oscommands.txt, that should be placed in the folder, from which the framework is started. Each line of this file contains a command, that should be executed by the underlying operating system.
If you open the printer using the web console, you will not be able to see the files. Instead, you must download the zip file, and the output of the executed commands will be attached.
Users can also use the system property "fw.web.console.oscommands.config" to specify another location, instead of oscommands.txt.
OS Files
The printer uses a file named osfiles.txt, that should be placed in the folder, from which the framework is started. Each line of this file contains a file or folder. It also accepts wildcards like "?" and "*".
If the printer is opened using the web console, the files will not be seen. Instead, download the zip file, in which all existing files, that matches the specified patterns are attached.
By default, this inventory will attach the mBSA log files.
Users can also use the system property "fw.web.console.osfiles.config" to specify another location, instead of osfiles.txt.
OS Info
This inventory uses the the OS Info Utility of the Framework module and prints information about the running processes on the system. The information contains the memory used and the CPU usage for each process. It also includes the system uptime, memory and CPU usage.
The OS Info inventory outputs the result in both text and JSON format.
Microsoft Visual C++ 2010 Redistributable Package is required to be installed, if the bundle is run on a Windows machine.
JMX
This inventory prints all diagnostics data, collected from the internal Java Management Instrumentation. It contains many details about the java internals - like statistics about the JIT engine, the Garbage Collector, Class loading, Memory segments, etc.
The result of this inventory is in both text and JSON format.
Thread Diagnostics
This inventory prints complete diagnostic information about the running threads. That includes state, CPU usage, locks, stack trace, etc. It also has ability to detect deadlocks.
This inventory outputs the result in both text and JSON format.