Advanced Reporting part 5: What Have We Learned?

typewriter-2242164_1280.jpg

At the start of this week, I began posting a series of how-to blogs over in the NPM product forum on building a custom report in OrionRegistered. If you want to go back and catch up, you can find them here:

It all started when a customer reached out with an “unsolvable” problem. Just to be clear, they weren’t trying to play on my ego. They had followed all the other channels and really did think the problem had no solution. After describing the issue, they asked, “Do you know anyone on the development team who could make this happen?”

As a matter of fact, I did know someone who could make it happen: me.

That’s not because I'm a super-connected SolarWinds employee who knows the right people to bribe with baklava to get a tough job done. (FWIW, I am and I do, but that wasn’t needed here.)

Nor was it because, as I said at the beginning of the week, “I’m some magical developer unicorn who flies in on my hovercraft, dumps sparkle-laden code upon a problem, and all is solved.”

Really, I’m more like a DevOps ferret than a unicorna creature that scrabbles around, seeking out hidden corners and openings, and delving into them to see what secret treasures they hold. Often, all you come out with is an old wine cork or a dead mouse. But every once in a while, you find a valuable gem, which I tuck away into my stash of shiny things. And that leads me to the first big observation I recognized as part of this process:

Lesson #1: IT careers are more often built on a foundation of “found objects”small tidbits of information or techniques we pick up along the waywhich we string together in new and creative ways.

And in this case, my past ferreting through the dark corners of the Orion Platform had left me with just the right stockpile of tricks and tools to provide a solution.

I’m not going to dig into the details of how the new report was built, because that’s what the other four posts in this series are all about. But I *do* want to list out the techniques I used, to prove a point:

  • Know how to edit a SolarWinds report
  • Understand basic SQL queries (really just select and joins)
  • Have a sense of the Orion schema
  • Know some HTML fundamentals

Honestly, that was it. Just those four skills. Most of them are trivial. Half of them are skills that most IT practitioners may possess, regardless of their involvement with SolarWinds solutions.

Let’s face it, making a loaf of bread isn’t technically complicated. The ingredients aren’t esoteric or difficult to handle. The process of mixing and folding isn’t something that only trained hands can do. And yet it’s not easy to execute the first time unless you are comfortable with the associated parts. Each of the above techniques had some little nuance, some minor dependency, that would have made this solution difficult to suss out unless you’d been through it before.

Which takes me to the next observation:

Lesson #2: None of those techniques are complicated. The trick was knowing the right combination and putting them together.

I had the right mix of skills, and so I was able to pull them together. But this wasn’t a task my manager set for me. It’s not in my scope of work or role. This wasn’t part of a side-hustle that I do to pay for my kid’s braces or feed my $50-a-week comic book habit. So why would I bother with this level of effort?

OK, I'll admit I figured it might make a good story. But besides that?

I’d never really dug into Orion’s web-based reporting before. I knew it was there, I played with it here and there, but really dug into the guts of it and built something useful? Nah, there was no burning need. This gave me a reason to explore and a goal to help me know when I was “done.” Better still, this goal wouldn’t just be a thought experiment, it was actually helping someone. And that leads me to my last observation:

Lesson #3: Doing for others usually helps you more.

I am now a more accomplished Orion engineer than I was when I started, and in the process I’ve (hopefully) been able to help others on THWACKRegistered become more accomplished as well.

And there’s nothing complicated about knowing how that’s a good thing.

Parents
  • You bring up some good points which, because of the nearness of the hour to Shabbat, I will endeavor to answer briefly. I am pinging cobrien​ and aLTeReGo​ to join in as they see fit.

    First, there is no way to take every customization and make it part of the core product. Development time and budget isn't infinite, and so we have to prioritize things based on what the largest number of customers need. That's what the Feature Request and voting system is for.

    Second, I guarantee you that if we DID include that report in the main product, the very next message I'd get is "why doesn't it do _____". We are, by our very nature, curious creatures who love to push the limits.

    Third, and most importantly, this series of posts wasn't at all about creating a single <thing> but about the skills that went into creating it - SWQL, HTML, and understanding how the web-based report builder works. None of those can be built into the product any more than they already are, because the whole point of them is to allow people to create new and different things as the fancy strikes them. My posts were meant to show how a small set of basic skills could be combined to create something that is useful.

    Finally, I've only been a Head Geek for 5 years. But I've been doing monitoring for 20+, and worked in IT for 30+. I do this, not because it's somehow distracting me from my work, but because it's an essential part of my work and the reason I love what I do. Working on tweaks like this and having conversations like these is what feeds my passion and gives me stories to build into future articles, episodes of lab, ebooks, etc.

    I can appreciate that SWQL isn't part of your primary role right now, which is why I posted the whole report for download. Hopefully with just a little tweaking, you can get it into a shape that you like. And if not, there's always consultants standing by to do some of that for you while you focus on higher-priority work. But for now, you know that things like this ARE possible, which means when you need something like this you'll know where to start.

    Have a great weekend!

Comment
  • You bring up some good points which, because of the nearness of the hour to Shabbat, I will endeavor to answer briefly. I am pinging cobrien​ and aLTeReGo​ to join in as they see fit.

    First, there is no way to take every customization and make it part of the core product. Development time and budget isn't infinite, and so we have to prioritize things based on what the largest number of customers need. That's what the Feature Request and voting system is for.

    Second, I guarantee you that if we DID include that report in the main product, the very next message I'd get is "why doesn't it do _____". We are, by our very nature, curious creatures who love to push the limits.

    Third, and most importantly, this series of posts wasn't at all about creating a single <thing> but about the skills that went into creating it - SWQL, HTML, and understanding how the web-based report builder works. None of those can be built into the product any more than they already are, because the whole point of them is to allow people to create new and different things as the fancy strikes them. My posts were meant to show how a small set of basic skills could be combined to create something that is useful.

    Finally, I've only been a Head Geek for 5 years. But I've been doing monitoring for 20+, and worked in IT for 30+. I do this, not because it's somehow distracting me from my work, but because it's an essential part of my work and the reason I love what I do. Working on tweaks like this and having conversations like these is what feeds my passion and gives me stories to build into future articles, episodes of lab, ebooks, etc.

    I can appreciate that SWQL isn't part of your primary role right now, which is why I posted the whole report for download. Hopefully with just a little tweaking, you can get it into a shape that you like. And if not, there's always consultants standing by to do some of that for you while you focus on higher-priority work. But for now, you know that things like this ARE possible, which means when you need something like this you'll know where to start.

    Have a great weekend!

Children
No Data
Thwack - Symbolize TM, R, and C