OSGi bnd Snapshot Viewer

Diagnose potential issues in your OSGi framework (bundle, packages, services), the SCR info, configuration, log, and custom extensions by installing biz.aQute.bnd:biz.aQute.bnd.runtime.snapshot:5.1.0 .

Upload Snapshot JSON file

Choose or drag your snapshot.json file here.

Privacy hint: Don't worry. The Snapshot Viewer does NOT upload anything to our server. It fully works in your browser. The data is processed only locally on your computer.

About

The Snapshot Viewer can take a JSON-File which was created using the bnd Snapshot Bundle (biz.aQute.bnd:biz.aQute.bnd.runtime.snapshot:5.2.0). It will create a snapshot of the framework when the framework stops (stop 0) or with a gogo command bnd:snapshot to make an arbitrary snapshot.

The snapshot can be used to get an extensive overview of the state of the framework. It captures the framework (bundle,packages,services), the SCR info, configuration, log, and custom extensions. An html file is provided to view the snapshot, which is this page you are looking at.

If you're running snapshot inside the a Launchpad test case, the snapshot file will be named after the actual test case

You can add additional information providers by registering any services that can turned into JSON as a service with the `snapshot` property.

bndtools website bnd manual GitHub

Example

Run bnd:snapshot in your OSGi console to create the Snapshot JSON file.

osgi> bnd:snapshot
Name                 snapshot-20210210213618.json
Parent               null
CanonicalPath        /mybndworkspace/plugins/com.myappbundle/snapshot-20210210213618.json
ParentFile           null
Path                 snapshot-20210210213618.json
AbsolutePath         /mybndworkspace/plugins/com.myappbundle/snapshot-20210210213618.json
AbsoluteFile         /mybndworkspace/plugins/com.myappbundle/snapshot-20210210213618.json
CanonicalFile        /mybndworkspace/plugins/com.myappbundle/snapshot-20210210213618.json

                

Take this .json file, open this page in your browser and upload the file.

{{e}}
Id Symbolic Name Version State Last Modified
Id Interface(s) Timing(s) Scope Component Registrar Using Bundles
Id Timing Template State Service Bundle References
Id Service(s) Bundle Enabled Instances
Id Package Version Exporter Importers Duplicates Removal Pend.
{{p.id}} {{p.name}}
{{v}}
{{p.removalPending}}
FactoryPID PID Change Location
Seq Level Message Time Name Bundle Thread
{{log.sequence}} {{getLogLevel(log)}} {{log.message}}
{{log.exception}}
{{new Date(log.time)}} {{log.loggerName}} {{log.threadInfo}}