Performance Monitor 2.3 Release: ErikAI, More FinOps, and MCP Madness
Summary
In this video, I provide an update on the upcoming release 2.3.0 of the monitoring tool, highlighting several exciting features and improvements. One of the most anticipated additions is the introduction of EricAI, a smart analysis engine designed to offer advice and insights similar to those I would provide manually. This tool will analyze various metrics, such as lock weights and page IO latch weights, to suggest potential optimizations and improvements. Additionally, I discuss enhancements to the FinOps functionality, aiming to make the tool more user-friendly and cost-effective, with features like a new monthly cost column and a light data importer for seamless data migration. The release also includes bug fixes and improved testing processes to ensure a smoother user experience.
Chapters
- *00:00:00* – Introduction
- *00:00:30* – Smart Analysis Engine
- *00:01:30* – EricAI Functionality
- *00:02:30* – FinOps Updates
- *00:03:00* – Cost Savings Recommendations
- *00:04:34* – Monthly Costs Column
- *00:05:25* – Query Analysis Tab
- *00:06:14* – Light Data Import
- *00:06:59* – Data Import Process
- *00:07:17* – Server Alerts
- *00:07:46* – Execution Plan Analysis
- *00:08:04* – MCP Tools
- *00:08:49* – Bug Fixes and Adversarial Testing
- *00:09:05* – Automated Code Review
- *00:10:07* – Conclusion
Full Transcript
Erik monitoring tool mogul, reasonable rates darling here. In this video I want to talk a little bit about the upcoming release 2.3.0 of the monitoring tools. These features will impact largely both of them, though some of them to different degrees. So just to talk about a few of the things that are going to be in there. Zoom. So one of the features that I’ve always wanted to put into a monitoring tool was like a smart analysis engine. I’m terrible at naming things, and so I didn’t name this thing. Claude just started calling it EricAI. I think it was trying to be nice to me after messing a bunch of stuff up. But what this is going to be is sort of like trying to give you the advice that I would give you. Look at the things that I would look at. It’s maybe not, you know, it’s not going to be a hundred percent there for a little bit, but I am starting to, you know, break ground and get some of the scenarios out there. What’s been fun about this is like, you know, like not having every scenario, like readily available to me while I’m building this has been building sort of like a test data mockup thing where, you know, we can play with different numbers and see how the thing, different inferences sort of follow the path. So like, you know, some like basic ones, right? Like you look at weight stats and you’re like, or like, you know, you sometimes you start with weight stats. Sometimes you look at weight stats and you’re like, that’s boring. But let’s just say you always start looking at weight stats and you see a bunch of lock weights. Then EricAI will go look at the block process and deadlock reports and we’ll figure out like what kind of queries are blocking, right? And it will go like look at different like query collectors to see if there are like performance issues with those queries. It might even look and tell you if, you know, if there’s a lot of reader on writer blocking and deadlocking, if an optimistic or row versioning isolation level would make sense. It’ll also do stuff like if you have like really high page IO latch weights and you have like 24 gigs of memory and four terabytes of data. EricAI will tell you some bold and reasonable things about your situation. So there’s a whole bunch of stuff like that in there. And, you know, like working through that and trying to get all the different scenarios covered. So that’s going to be a fun little project. The other thing that I have going on in this release is a bunch of updates to the FinOps stuff. Apparently FinOps is a thing that bosses love.
And my goal is to try to make this is helpful or rather I want this tool to be as easy for you to get and use in your environment as possible. And part of that is appealing to bosses. Bosses love FinOps because FinOps means saving money. So not only is this tool free, but this tool might also save you money too. So like, you know, not only is it trying to infer like, you know, like interest server optimizations and stuff for like, you know, things you can do things you can do in place that could maybe lead to like hardware downsizing, or it could lead to like maybe even like moving from like enterprise to standard edition. Long term also want to look at like server consolidation things. I also want to look at I mean, I have a very, very, very long stretch goal, incredibly long stretch goal, where I want to figure out I want to sort of like do like a like, like how compatible your SQL Server stuff code and everything else is with migrating to Postgres. It’s just going to be like a scorecard. I think I don’t I don’t know if I could actually go beyond that. But it’s going to be fun to work on.
Some other stuff that have gone in there. Oh, before before I move on, a couple things with the FinOps. So like, I tried to think of a bunch of reasonable ways for people to rather for me to infer how much your SQL Server costs you. Turns out, that’s like impossible to do, right? Like, I mean, like a standard enterprise have list prices, everything in the cloud has list prices. And then like, you know, is it reserved? Is it spot? Is it three years? Is there one year? I don’t know. And I don’t want to figure all that out. So I let you tell me how much your server costs you a month, because I don’t know, right? I’m not going to be able to look at everything and figure that out. So if you go into manage servers, now, you’re going to have this new column called monthly costs. And I just threw a number in there to get some other stuff showing. But if you don’t have numbers in there, after you upgrade, if you highlight a server, and you go to edit, you can put the monthly cost in there. And you can tell me how much this server costs you a month. And then we can start figuring out how much we can save you based on that. Right? So that’s pretty fun stuff. There’s been some other things added to this. This is not a very great example, because this is just looking at SQL Server 2022. And I haven’t been doing a lot of query work on it. But, you know, just sort of some cost savings recommendations. So some stuff in there, of course, you know, the utilization tab, I talked about this in another video.
But I did add a new tab to this. And the new tab is fun. Because if you if you watched another video of mine about SP Quickie Store, where I talked about sort of like looking at queries, but like using like the sort of 8020 rule, and figuring out like, you know, like, you know, like 20% of your queries are responsible for 80% of your misery or something. I started I put that in here too. It’s not exactly the same as the one in Quickie Store. But it does do, you know, pretty much identically the same thing. But this will start looking through your query stats data and trying to figure out which queries across like a variety of metrics are responsible for like, just you know, a lot of your misery. Like for this example, you know, we have this tp, tp, hammerdb tpcc query, that has had 376 million executions use 3 million milliseconds of CPU time, right, just like 35.9% almost 36% of the servers entire CPU time. So this is clearly something that we’d want to be like, hey, like, what are you doing? Like, maybe can we do anything about you, right? This is something that you’d want to address. So we have that stuff going on in there. So a couple neat things that that I’m working on in there.
Another thing, this is actually some user submitted issues that I thought were good. A light data import. So you know, I always sort of pictured the light thing is something that someone would just spin up and start, you know, plowing away the server with. I didn’t, I didn’t think people would use this as like a long term monitoring tool. Turns out, they love this thing. Turns out, it’s a great long term monitoring tool. I didn’t know that. It’s not at all how I pictured it. But you know what, I’m not complaining, use it however you want. But but there was no way to bring easily bring data from like a past version to a new version. So now I’ve got a light data importer in there. Basically, the way that works is, you open up the new version, you open up the new version and you hit an import button. And the import button will like you point it to the directory where your old thing is in, it’ll flush all the data out of your current DuckDB database to a parquet file. And then it’ll copy all the parquet files over to your new, your new directory. So you’ll have all your past data in there.
I’ve got an alert now for when servers go online and offline. In the light database, there is a per server utility database setting, because one of the FinOps tabs up there runs SP index cleanup to get you a list of indexes you can consolidate. And turns out not everyone uses like master or performance monitor or whatever. And also, if you’re using light, you probably don’t have a performance monitor database. So you can pick which database you want to use in there. All of the execution plan analysis stuff that I’ve been working on in Performance Studio has been getting ported over to the two dashboards. And so now I have MCP tools that can run those rules and do that stuff. Let’s see. Here, I don’t know, there was some MCP stuff that I worked on, blah, blah, blah. And let’s see. Well, I don’t know, there’s been a bunch of bug fixes since bug fixes since the last one. These are less, these are less fun to talk about, because you know, I hate bugs. And I hate knowing that I produce something that had a problem for someone. So I’m trying to have less of that happen. And the way that I’m trying to have less of that happen.
Is some of the things in here. Primarily, some more adversarial testing. Actually, that bottom one is stupid. That was a bad test that we got rid of. So more adversarial testing, especially on the installer. That’s, that’s, that’s gonna be a big one for helping me long term, because that installer process turns out to be the hardest part about this whole thing. Not only upgrades, but like the scripts and everything. That turns out that was the most that is the most difficult part of the whole project. And I’ve also added some automated code review in here. So like whenever someone submits a PR, I have cloud code code review it. And usually it’s good. And usually there’s some back and forth between the like, let’s face it, everyone else is who can everyone who contributes to this is using a coding agent.
So that gets set. It’s just like two things talking to each other. But I added this other layer in there. There’s a different coding agent to hopefully get a different point of view or perspective on, on things as they get is pull requests come in. And that’s code rabbit. code rabbit. It’s a hopeful, apparently free for open source repositories. So I don’t know if my credit card starts getting charged, I’m in trouble. But I added this thing in to hopefully get like, you know, because like something like when I when my cloud makes a pull request or merges stuff. It’s basically done its own code review. So maybe that’s not great sometimes. So I’ve added in another layer here to hopefully catch more stuff before problems arise. But anyway, just a quick update on stuff that’s coming in 2.3 that should be out a little bit later this week. Thank you for watching. I hope you enjoyed yourselves. I hope you learned something. And I will see you in tomorrow’s video where we will talk about well, I don’t know yet. Well, we’ll work it out on the way, won’t we? All right. Thank you for watching.
Going Further
If this is the kind of SQL Server stuff you love learning about, you’ll love my training. Blog readers get 25% off the Everything Bundle — over 100 hours of performance tuning content. Need hands-on help? I offer consulting engagements from targeted investigations to ongoing retainers. Want a quick sanity check before committing to a full engagement? Schedule a call — no commitment required.