As a personal development goal, I recently embarked on a mission to enhance Log Detective's capabilities by submitting annotated logs. My aim was to contribute 10 annotated logs for 30 distinct issues to their dataset, helping the Log Detective team personalize system suggestions and, ultimately, make troubleshooting even smoother for everyone. While my initial goal was ambitious, I successfully submitted 5 valuable annotations, each contributing to Log Detective's "knowledge."
My journey began by searching Fedora COPR for failed builds. I also delved into the pulpcore-packaging repository within theforeman organization on GitHub, specifically looking at RPM builds triggered by automated GitHub actions that bump package versions. The most challenging, yet crucial, part of this process was finding as many different and unique failures as possible to truly broaden Log Detective's "knowledge base." It was like a treasure hunt, but instead of gold, I was looking for elusive errors!
Once I pinpointed a failed build, I extracted its build ID and the name of the buildroot where it crashed. Armed with this information, I submitted it to Log Detective. The platform quickly retrieved the relevant logs, presenting them to me for analysis. I then meticulously highlighted interesting snippets from the log files, adding comments to explain their significance. The next step was to answer two critical questions: "Why did the build fail?" and "How can this issue be fixed?" This part was incredibly insightful, forcing me to distill complex problems into clear, actionable solutions. It felt like I was teaching an AI how to think like a seasoned troubleshooter.
Beyond public repositories, I also took a log from our internal Koji instance and, after carefully ensuring no sensitive data was included, pasted the build log directly into Log Detective. This allowed me to contribute from our internal tooling, further enriching the dataset.
Here are the links to two annotations I submitted:
-
https://log-detective.com/review/896c9b17-0c66-465d-8e7e-9cf17acfd240
-
https://log-detective.com/review/518aa89a-caba-4566-966e-6d9b08b81f0c
The Power of Proactive Annotation In conclusion, I'd say Log Detective is an incredibly useful tool, particularly for those of us who deal with packaging a high volume of software, like we do here at Satellite. Imagine easily feeding build logs into Log Detective without the tedious, manual process of sifting through them, pinpointing errors, and then starting the analysis and resolution cycle from scratch. It's a game-changer for efficiency.
Furthermore, Log Detective has the potential to significantly ease the learning curve for newcomers to RPM or container image building. Instead of being overwhelmed by cryptic error messages, they could leverage Log Detective's insights to quickly understand common pitfalls and their solutions. The most difficult aspect for me was consistently finding failed builds that were suitable and genuinely valuable for annotation. I believe a highly effective approach would be for engineers to submit their failed builds to Log Detective immediately as they encounter them. They possess all the necessary context to accurately fill in and submit the annotations, making the process seamless.
This experience was a fantastic learning opportunity for me, and it's certainly something I plan to continue in the future – contributing annotations whenever I encounter a failed build. The more we feed Log Detective, the smarter it becomes, and the easier our lives as developers and packagers will be!