biz.aQute.bnd:biz.aQute.bnd.runtime.snapshot:5.1.0
.
Choose or drag your snapshot.json file here.
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.
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.
Id | Symbolic Name | Version | State | Last Modified | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
{{bundle.id||0}} |
{{bundle.symbolicName}}
{{bundle.headers['Bundle-Description']}} |
{{bundle.version}} |
|
||||||||||||||||||||||||||||||||||||
|
Id | Interface(s) | Timing(s) | Scope | Component | Registrar | Using Bundles | |
---|---|---|---|---|---|---|---|
|
{{service.id}} |
{{objectClass(service.properties.objectClass)}}
{{service.properties['service.description']}} |
|
{{service.properties['service.scope']}} |
|
|
|
|
Id | Timing | Template | State | Service | Bundle | References | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
{{instance.id}} |
|
|
{{getComponentState(instance)}} |
|
|
{{ref.name}} (
|
||||||||||||||||||||||||||||||||
|
Id | Service(s) | Bundle | Enabled | Instances | |||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
{{template.id}}
|
{{objectClass(template.serviceInterfaces)}} |
|
{{template.isEnabled}} |
|
||||||||||||||||||||||||||||||||||||||||||
|
Id | Package | Version | Exporter | Importers | Duplicates | Removal Pend. |
---|---|---|---|---|---|---|
{{p.id}} | {{p.name}} |
{{v}}
|
|
|
|
{{p.removalPending}} |
FactoryPID | PID | Change | Location | |
---|---|---|---|---|
|
{{cnf.factoryPid}} | {{cnf.pid}} | {{cnf.changeCount}} | {{cnf.bundleLocation}} |
|
Seq | Level | Message | Time | Name | Bundle | Thread |
---|---|---|---|---|---|---|
{{log.sequence}} | {{getLogLevel(log)}} |
{{log.message}}
{{log.exception}}
|
{{new Date(log.time)}} | {{log.loggerName}} |
|
{{log.threadInfo}} |