Happy new year, and all that! I wanted to debut for the community something I've been working on for a little while, and hopefully it's useful to somebody out there.
The full story: Long ago I worked as a support rep at IA. While there, I made some tools for internal use; Vision windows attached to an internal gateway that knew how to parse our log IDB files and thread dump files and display them in a more useful way. Recently, I had some downtime, and wanted to take on a new project, so I recreated those tools as a standalone project. Thanks to some modern Java features, I'm able to package those tools into a standalone "native" executable, which should make them a lot more accessible than requiring an Ignition gateway.
So, here's Kindling, a collection of tools to help with Ignition (get it?):
A thread dump viewer
A log file viewer
A store & forward cache dump viewer
An archive explorer that understands Ignition project files, gateway backups, modules, and more
And not to bury the lede, but it also comes with dark mode
The best part: It's entirely open-source, and I'd love community contributions.
This is fantastic thanks so much! I think being able to perform some operations on config.idb without the gateway running and without dealing with sqlite syntax would be really nice too. Examples that comes to mind include being able to delete all the tags from a gwbk, global find/replace operations, etc.
@PGriffith thank you for Kindling - its a great tool.
1 Do you know of any other similar tools worth having to troubleshoot/monitor problems in ignitions ?
2 Using Kindling i compared 2 gateways backups config files and would like to correct the difference in one of the files otherwise it will not launch designer or clients. Do you know if there is any way to do the change inside the gateway backup or is it write protected? I will not be able to correct the config file after deploying the backup because i dont have full server access.
Yeah, at some point I may make it possible to ālive updateā a .gwbk or IDB, but for now read-only lets me make a lot of assumptions that make things easier.
I like whatās there and look forward to using it next time I need to pick apart logs. Something in the GUI library you used for the generic IDB viewer portion isnāt available on my system, though.
WARNING: package com.sun.java.swing.plaf.windows not in java.desktop
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/sun/java/swing/plaf/windows/WindowsLookAndFeel
Iām running Mint (based off Ubuntu 20.04), and had to git clone your repo and do gradlew run locally, so this may just be my setup. I donāt do Java/Kotlin/gradle packaging or building and am kinda lost on where to look in the project to figure this out. Searching online finds other people complaining that OpenJDK on Ubuntu is missing this bit and they ended up building JARs manually to get around it. (here)
I feel like such a killjoy reporting a compatibility issue on a 1 month old projectā¦
Switching from ADOPTOPENJDK to AZUL hits the same error. (I know it was using Azul since it gave me a āNo compatible toolchains foundā error until I installed Azul.)
I may try another JDK later when I have some more time.
I didnāt try the RPM since Iāve had bad experience with alien converting RPM to DEB in the past and donāt have native RPM tools installed on my system. I can try that later, too.
v0.0.4 is out with dramatically improved usability (in my opinion) - to be honest, this is the first release Iād call actually useful I need to update the gifs on the readme, but Iād definitely recommend giving this a try if you werenāt satisfied with things before.
I was gonna give it alook, downloaded the exe and installed it, but it is starting up very very slowly (like mulitple minutes) and when i try to choose a file the filebrowser isnt reacting at all Forcing me use taskmanager to end it.
Edit: tried opening it again a couple of times and sometimes it seems to be going smooth, sometimes its getting bugged. Weird, maybe i have to many other stuff running.
v0.0.5 is out, which fixes the error @justin.brzozoski hit on non-Windows systems, and adds MacOS builds. No significant functionality changes, but Iām working on some things for the next version.
If anyone wants to try out a āpre-releaseā, the latest build of main has wrapper log parsing built in, including the ability to stitch together multiple files to present as one unified log. I only have so many test cases on hand locally, so itād be good to know how this works on ārealā data out there in the wild.
v0.1.1 (ignore the gaps in the middle ) out now.
Iām now using JDeploy to streamline packaging and deployment. Bonuses: 1. auto-updates (opt-in) and 2. no need to run cross-OS builds via Github Actions.
The big new feature is wrapper.log parsing; one or more wrapper.log files can be selected and theyāll be rolled up and parsed as a single unit.