Inspect request throttling explained

There have been a lot of misconceptions about Blizzard's change, so it would be beneficial to clear those misconceptions up.
First, here is the original blue post as well as the follow up clarifications:

AccordIt's important to understand that the throttling that is being done isn't intended to break any functionality of add-ons, but merely to control the amount of queries that are being sent to the server at any given time. (Thus throttling the queries.) The queries will still occur, it just won't happen as quickly as they currently seem to. You can read the statements that WoW Ace and WoW Interface have up for a bit more information on these changes. We wanted to give mod authors a heads-up prior to making the change so that they could make any adjustments they needed to on their mods.ing to WoWAce, Blizz is going to start throttling inspection requests, thus limiting addons like Gearscore's ability to generate on-the-fly GS of a player's equipment.
http://w
http://w

I just wanted to reiterate that the original information on this change was meant to help add-on authors more than anything so that they could adjust accordingly. Unless the add-ons you use are requesting a lot of data, there isn't going to be any particular change in regard to the amount of latency you might be experiencing in the game.

It's important to understand that this wasn't really the fault of addon authors. This needed to be fixed because we were allowing something we really shouldn't have. Many addons pull Inspect data when mousing over characters and there was nothing on our end to throttle the rate at which that data could be pulled. So if you're standing in Dalaran with one of these mods and slide your mouse across the screen and over several characters within a very small amount of time, your client is spamming the database with Inspect queries. We're correcting that issue on our end.

Will this change make it so we have a "1 inspect per 5 seconds" system? Or will it only throttle your requests if you are sending a massive number of requests within a small time frame?We're starting by capping the number of Inspects that can be sent in a 10-second time frame. It'll likely be 5 Inspects, but that could change in either direction.
Keep in mind that this change is intended to help those using addons which are sending a lot of these requests from lagging or disconnecting. If you're not actually using such addons, and therefore not sending a large number of queries to our database, the change won't affect you either way. You're not lagging or disconnecting because someone else in a raid or major city is unknowingly spamming such requests.
Not intended to break
The first thing to understand about this change is that Blizzard is not intending to break any addon functionality. They plainly state that fact right up front. While many of us would love to see Gearscore go the way of the dinosaurs, you know deep within your hearts that the type of addon Gearscore represents is never going away. It was nice to have that fleeting moment, but ultimately remember that addon creators are craftier than that. I do not want this to become a discussion about the merits of Gearscore, so that's the last I will discuss of it on a purely functional level.
Blizzard rarely intends to break addons with updates to the way addons are used. There are many exceptions to that of course, some of the most famous being the original Decursive, Healbot and the more recent AVR. This change is purely on the backend, changing the way addons can request /inspect data.
What is throttling and what does it affect?
It's helpful to first understand, in very simple terms, what is going on here. In the very basic sense, an addon asks the Blizzard servers for information. Imagine the addon is having a conversation with the server, thusly:
A noticeable problem presents itself -- the number of these requests on the servers are plentiful, and the outbound data requested by the client is hefty. With the throttling, the conversation changes. A bottleneck is placed on certain requests that addons make of the server, limiting the number of requests an addon can make. So now, the conversation goes:
"Hey, World of Warcraft, I am compiling a list of the gear on this particular character using the /inspect feature. Would you do me a favor and give me that data?"
"Sure," says the server. "Here it is!"
"Thank you, server. Now, do it again for the entire raid I'm with. I'll need twenty-four more of those requests, and can you make it snappy? I haven't got all day."
"Uh, sure."
Gear-checking and /inspect requests in large raids will take much more time. Imagine the bottleneck presented of 5 requests every 10 seconds. That's 40 seconds of wait time for an entire raid check. Obviously this is just a proposed number, but the time between requests is the concept. Addons will have to have a way to tell the player that data is not available yet. These notifications by Blizzard were, in fact, released to give addon authors a heads up so they could make said adjustments and changes."Hey, World of Warcraft, get me that player's data through the /inspect feature."
"Here you go!"
"Now do it again."
"Whoa, slow down there buddy. You have to wait some time before you do that again."
"Fine. But what do I tell the player?"
"You need to know now that sometimes you won't get this information on demand. It might take a little while. Ask me again soon."
"Alright, how about now?"
"Not listening."
"Now?"
"Nuh-uh."
"Noooooooow?"
"Alright."
What does it mean, then?
Some addons are functionally broken by Blizzard because they exploit the game, change encounters or are against the spirit of the proverbial addon law. This change, however, is meant to control the amount of requests on the server, thereby lowering the strain on the client. Remember when Gearscore went rampant around the servers, and it became the first banned addon back in 2009, and subsequently unbanned after the problems were dealt with? That is on the far end of the spectrum of things going on here.
This change means, for addons developers, that they must add in a way for their addons to let the players know that data is unavailable or being requested. For the players, it probably won't mean much from a performance standpoint, but data will not be as on demand through addons as it is now. You may be waiting for certain types of information. For the Blizzard servers, this will lighten the load on requests from addons which, at the moment, is immense.
So there you have it, a barebones understanding of what this change means for addons going forward. You know how when you do a /who, and information comes up, but then you do another /who and nothing comes up for awhile? That's because /who requests are throttled to prevent addons and people from making too many zone checks and /who requests. The same thing is being implemented here for /inspect and a few other calls. It is not as nefarious as you would believe.
Filed under: Add-Ons, Analysis / Opinion






Reader Comments (Page 1 of 4)
Hih Jun 28th 2010 5:06PM
"Gear-checking and /inspect requests in large raids will take much more time. Imagine the bottleneck presented of 10 requests every 5 seconds. That's 50 seconds of wait time for an entire raid check."
You mean... 10 seconds? 10 requests for the first 10 people. Wait 5 seconds. Another 10 requests for the next 10 people. Wait 5 seconds. 4 more requests for the other 4 people since I doubt you need to inspect yourself.
Arktic Jun 28th 2010 5:19PM
I think he meant to say, "5 requests every 10 seconds." Either way, since the numbers were arbitrary, the point was still made.
Nvr Jun 28th 2010 5:20PM
No.. it says 5 requests per 10 seconds. So 10 seconds for group one then 10 seconds for group 2 then 10 seconds for group 3 and so on and still 50 seconds because you would need 24 /inspections regardless of your own gear.
Mathew Jun 28th 2010 5:25PM
Sorry, it's 40 seconds. My bad.
kingoomieiii Jun 29th 2010 8:54AM
I assume in the future mods like GearScore, which already contain a P2P component, will use more aggressive timestamping and rely increasingly on slightly older information (not requesting a new inspect on a player if another gearscore user has an archived inspect on them less than a half-hour old, for example). Depending on how many guildies you have in the raid, you may find all the inspects have already been done for you when you roll over the players.
rhorle Jun 28th 2010 5:12PM
How is 10 requests every 5 seconds equal to 50 seconds for an entire raid? 25/10=2.5. 2.5X5=12.5 seconds to get info from the entire raid.
Matt Jun 28th 2010 5:19PM
hey, math whiz...grats on missing the point. WTS nitpicking douchebaggery
Elle Jun 28th 2010 5:31PM
it makes more sense when you read the blue post and realize that the numbers got inverted for the following.....it doesn't say 10 requests every 5 seconds, it says 5 requests every 10 seconds (hypothetically for the moment as they have NOT finalized the numbers yet).
so, after actually reading the whole post and then doing the math...well...yeah, it works out to a 50 second wait for a 25 man raid.
GrumblyStuff Jun 28th 2010 5:56PM
5 requests every 10 seconds? Well, that's just 2 seconds you can spend per person to see if their gear and spec is good instead of just the highest ilevel crap they threw on to get into the raid group.
Arkhill Jun 28th 2010 5:57PM
Matt, I like your style
Helston Jun 28th 2010 11:50PM
Actually, it IS 40 seconds because you don't have to wait after the last 5 inspects. A timeline of events:
5 inspects
wait 10 seconds
5 inspects (10)
wait 10 seconds (20)
5 inspects (15)
wait 10 seconds (30)
5 inspects (20)
wait 10 seconds (40)
5 inspects (25)
Firestyle Jun 28th 2010 5:13PM
This change is great. I've played this game for almost 4 years now and I've never installed gearscore. I know the ballpark of my gearscore, but I didn't want it to influence my gear choices since is not a good indicator of whether a particular item is an upgrade.
I still use the ilvl 245 and 258 healing trinkets from 25 ToC over the 277 healing trinket off heroic BQL. Some people must think I'm crazy.
Crianas Jun 28th 2010 5:15PM
Whoooooh, it was never my intention to break...
Inahu Jun 29th 2010 8:56AM
I love how they're going about this. "We're not doing this with the intention of breaking addons..." - carefully leaving out "... But that doesn't mean we don't know some addons will be crippled by it." I'm hoping this causes huge problems for anyone using GearScore, ideally they'll either have to store all the information they pull locally for longer (which could result in an added bonus of increased lag for the user) or they won't be able to request as much information at once. Even more ideally, people will stop using it all together.
Sedna Jun 28th 2010 5:17PM
"If you haven't already heard among the throngs of vuvuzela-esque cries of 'Gearscore is dead',"
Now that I think about it, the official forums are a lot like a bunch of vuvuzelas. A mob of people making noise for the express purpose of hearing themselves make noise, and in the process they drown out attempts at logical, reasoned discussion-
Hey, what's that? That long plastic horny thing?
Okay, I guess I'll try- BZZZZZZZZZZZZZZZZZZZZZZ.
Ha ha ha! BZZZZ BZZ BZZ BZZ! This is great! BZZZZZZZZZZZZZZZZZZZZZZZZZZZZ! I bet I could do "Garrosh Is An Elf-Humper" on this thi-BZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ.
Azizrael Jun 28th 2010 5:17PM
A little perspective at last.
I have Gearscore installed. I'm not a big fan of it, but I at least use it "correctly" - it gives me a heads up on what to expect of the people I'm grouping with. If the tank has a score of 3k and mine is 5k, I know to be more careful with my nuking in the daily than I would with a tank who outscores me. Does that mean I won't pull aggro from the Kingslayer tank? No, he could be totally phoning it in. But that's a whole other problem.
You don't need to know the gearscore of all those guys idling outside the auction house in Orgrimmar/Stormwind. That's what the throttling has been implemented to correct.
Jorges Jun 28th 2010 6:28PM
"You don't need to know the gearscore of all those guys idling outside the auction house in Orgrimmar/Stormwind. That's what the throttling has been implemented to correct."
I don't really know where the throttling is being applied, but it would be awesome if this kind of requests were only possible inside instances, and not on the outside world. I bet it would help reduce lag on the world and places like Wintergrasp.
And maybe make the PuG leader stop checking GS and asking for achievements, and actually getting a PuG together. Achievements, GS, and all.. if the player suck, he's going to die and you won't know this until the pull is done.
Edge Jun 28th 2010 6:49PM
Very good perspective. I thought the same as most until I started tanking on my Warrior at 80 for the first time. I do the exact same thing and watch for who is going to be pulling aggro from me or whether the healer is a go for broke healer or just starting healer.
Not quite as often, I use it to figure out whom to put Vindication on at the start of an instance, but sometimes that changes right up when the theat meters show something different than what gearscore would have me believe.
Fletcher Jun 29th 2010 3:38AM
Can't you ... look at someone's HP and eyeball the gear they're wearing and get a rough estimate of how well geared they are, relatively, that way?
Wes Jun 29th 2010 7:07AM
Yes and no. Pvp gear just as the ilvl64 bracers have a decent sp and crit so a lot of healers will pick those as 'starting items' when they don't have enough badges/done a raid to get a good wrist item when starting roics. The pvp gear though as a HUGE ton of stamina. Like 120 from a single peice. Which would make you believe you were with an very well geared healer if you just eye-balled their hp and decided upon that.