After a couple of weeks of happy debugging -- big props to WIR and various people on these boards -- I'm gonna pretend I'm ready to release tank-charts. It's a package of four scripts designed to generate and (if desired) chart tank threat per second from combat logs. They're designed to be run from the UNIX command line, although you can get them working under Windows if you know how to run perl scripts there.
Sample graphs:
MT threat on Mags
4 Tanks and a Void Reaver
(Average TPS for the whole fight; not sure this one proved useful for analysis.)
This package reads combat logs and generates files containing rows of tab-delimited data; each row in the file is 1 second, and each column is a threat average for the specified tank over varying periods of time. The files are suitable for reading into Excel or any other program; the intention is to provide an easy way to graph threat.
It is most useful when you feed it a log for a specific fight. Giving it the log for the entire night of raiding is not that practical.
To create a tab separated file, use gen-data.pl. If you have gnuplot installed and you want a quick and easy graph, use threat.sh. See the USAGE section for more details.
If you are not comfortable with UNIX command lines or running perl under Windows, you will not get a lot out of this package. I have plans to create a Web interface, but I'm not sure I have the bandwidth to host it.
It does not include Misdirect threat, because it's tricky figuring out which hunter is misdirecting at which tank. I may or may not add that at some point. It doesn't do stances, which is easier to do so will probably creep in eventually.
The next major change will probably be an extension of the program to track incoming damage as well.
Nice Job. I am gonna feed some combatlogs to it tonight.
ActiveState ActivePerl Free Download should do the job for the windows users (no I am not affiliated with the company. It's just the most trustworthy link I found on google)
Hmm let me guess.. It's only working for combatlogs in english?
Maybe i'll locate it for the DEde client.
Yeah.
It shouldn't be hard to localize -- there's a couple of big hash tables with the search strings in them. If you do localize it, send me the results and I'll include a language flag in the next release.
This'd really be interesting if there was a way to implement it into WWS, or import this data plus WWS data into some kind of graphing application to compare tank performance. Think Recount, but externally accessible. I understand that it already has multi-tank support, but being able to chart the entire raid's TPS to see how limited they are by the tank, and how individual players are dealing with it by timing their threat dumps/wipes would be fantastic. Being able to not only see the rate of change (TPS) but absolute values (total current threat) would make this even more of a gem for post-raid performance tracking. Realistically, Recount does this already, but being able to do this outside of the game would be amazing; the most use would arguably still come out of plugging this right into WWS's parsing system.
I'm curious though, how does this little app track talent points, buffs on tanks etc.? Does it take into account aggro reducing abilities from mobs? Since you show a Void Reaver chart, but the TPS shown doesn't seem to be directly affected by his Eject/Knock Away ability I'm going to guess that's a no, but how likely and how feasible would it be to implement such a feature?
This'd really be interesting if there was a way to implement it into WWS, or import this data plus WWS data into some kind of graphing application to compare tank performance. Think Recount, but externally accessible. I understand that it already has multi-tank support, but being able to chart the entire raid's TPS to see how limited they are by the tank, and how individual players are dealing with it by timing their threat dumps/wipes would be fantastic. Being able to not only see the rate of change (TPS) but absolute values (total current threat) would make this even more of a gem for post-raid performance tracking. Realistically, Recount does this already, but being able to do this outside of the game would be amazing; the most use would arguably still come out of plugging this right into WWS's parsing system.
I'm curious though, how does this little app track talent points, buffs on tanks etc.? Does it take into account aggro reducing abilities from mobs? Since you show a Void Reaver chart, but the TPS shown doesn't seem to be directly affected by his Eject/Knock Away ability I'm going to guess that's a no, but how likely and how feasible would it be to implement such a feature?
Nominally TPS shouldn't be affected by knock-away/eject mechanics as long as the tank stays within range of the mob. I.E: KA/Eject affects TOTAL threat, but not the actual threat-per-second being created by the tank. I'm not saying this actually happens this way, I don't know, but a nominal TPS recorder (not a a meter which does an avg.) should not take into account mechanics that affect threat already created. TPS just means how much is my Delta-Threat at this point in time? If you take chunks in small enough increments, you can ignore outliers created by events such as knockback, and get your true TPS.
Though I can hide my cold gaze, and you can shake my hand and feel flesh gripping yours, and maybe you can even sense our lifestyles are probably comparable; I simply am not there.
This'd really be interesting if there was a way to implement it into WWS, or import this data plus WWS data into some kind of graphing application to compare tank performance. Think Recount, but externally accessible. I understand that it already has multi-tank support, but being able to chart the entire raid's TPS to see how limited they are by the tank, and how individual players are dealing with it by timing their threat dumps/wipes would be fantastic. Being able to not only see the rate of change (TPS) but absolute values (total current threat) would make this even more of a gem for post-raid performance tracking. Realistically, Recount does this already, but being able to do this outside of the game would be amazing; the most use would arguably still come out of plugging this right into WWS's parsing system.
I'm curious though, how does this little app track talent points, buffs on tanks etc.? Does it take into account aggro reducing abilities from mobs? Since you show a Void Reaver chart, but the TPS shown doesn't seem to be directly affected by his Eject/Knock Away ability I'm going to guess that's a no, but how likely and how feasible would it be to implement such a feature?
Total threat would be interesting. The data's obviously available; dump this into Excel and add a column and you're there... excepting of course threat reducers, which aren't implemented. Let me add that to the pile of stuff to do.
Conceptually speaking, what I was looking for was a way to track the base threat that tanks were generating; I wanted to be able to evaluate that core tank ability. Threat reducers are external to that, so I managed to not even think about 'em. But you're right, it'd be handy.
The core framework of the script would be plenty amenable to adding the rest of the classes. I'm not entirely sure I want to take that on, but it could be done.
Buffs on tanks don't need special consideration -- if you have BoM, you do more damage, and the script just parses log lines. The script assumes 3/3 talent points in the appropriate place; there's also a switch to specify fewer.
Hmm let me guess.. It's only working for combatlogs in english?
Maybe i'll locate it for the DEde client.
totally off-topic... get the enGB client? i did it myself the moment blizzard offered the download and i know more than a handful german players that wouldnt even get in a 100y range of the deDE client because of its BAD translation if they hadnt the game in a box in their shelf somewhere.
, but being able to chart the entire raid's TPS to see how limited they are by the tank, and how individual players are dealing with it by timing their threat dumps/wipes would be fantastic.
Little bit off topic but in what kind of fights the DDs are limited by the tank, except for voidreaver and maybe Melees at Gruul?
To output 800tps on a fight like Magtheridon should be hard for most DDs, as long as they aren't way too overquipped for the encounter. I mean thats over 1k dps for a shadowpriest/warrior.
.. without BoS. And all other DDs have enough abilities to reduce their aggro.
That's true koaschten ^^
The sounds from c'thun or other bosses are much better in the english version as well
---
ontopic:
Wouldn't it be much easier to create some type of java app out of this ?
Just a small question: are hunter's misdirections accounted for in your graphs ?
I may be wrong, but it seems to me that it could be interresting to see how that affects a tank's TPS in the long run...
It's in the OP:
Originally Posted by Abbi
It does not include Misdirect threat, because it's tricky figuring out which hunter is misdirecting at which tank. I may or may not add that at some point. It doesn't do stances, which is easier to do so will probably creep in eventually.
Just a small question: are hunter's misdirections accounted for in your graphs ?
I may be wrong, but it seems to me that it could be interresting to see how that affects a tank's TPS in the long run...
they aren't. They are on the todo list. But you can calculate it for yourself anyway. With its 2 min CD and roughly 3k threat that's 15k threat for a typical 10 minute fight per hunter - thats 25 tps/hunter. So it can be a nice addition for the tank but its main purpose is to guarantee that nothing goes wrong in the first 10 seconds. Afterwards aggro imho is seldom a problem.
I would venture a guess that it wouldn't raise the overall TPS by much at all. Consider that on something like Magtheridon you have a 10-15 minute fight where the tank is producing ~500-600 threat per second. MD in total will only add about 4k point of threat to the tank and that's if the hunter crits a whole lot. Applied every two minutes my very generous estimate would increase the tank's TPS over the course of the fight by about 30. Significant but in no ways game-breaking.
Just a small question: are hunter's misdirections accounted for in your graphs ?
I may be wrong, but it seems to me that it could be interresting to see how that affects a tank's TPS in the long run...
Nope, they are not, although it would be interesting. It's a semi-tricky problem. Here's why:
9/18 20:39:25.629 A gains Misdirection.
9/18 20:39:25.633 B gains Misdirection.
9/18 20:39:25.638 C gains Misdirection.
9/18 20:39:25.983 D gains Misdirection.
9/18 20:39:25.987 E gains Misdirection.
9/18 20:39:25.997 F gains Misdirection.
Who are the hunters, who are the tanks, and who's Misdirecting to who?
If you add in the fade messages:
9/18 20:39:30.244 Misdirection fades from D.
9/18 20:39:30.246 Misdirection fades from C.
9/18 20:39:31.649 Misdirection fades from B.
9/18 20:39:31.072 Misdirection fades from A.
9/18 20:39:32.874 Misdirection fades from F.
9/18 20:39:32.221 Misdirection fades from E.
It becomes easier, but allowing for lines later in the combat log to affect threat calculated from earlier lines would require some reworking. I will probably break down and give in eventually.
Nope, they are not, although it would be interesting. It's a semi-tricky problem. Here's why:
9/18 20:39:25.629 A gains Misdirection.
9/18 20:39:25.633 B gains Misdirection.
9/18 20:39:25.638 C gains Misdirection.
9/18 20:39:25.983 D gains Misdirection.
9/18 20:39:25.987 E gains Misdirection.
9/18 20:39:25.997 F gains Misdirection.
Who are the hunters, who are the tanks, and who's Misdirecting to who?
If you add in the fade messages:
9/18 20:39:30.244 Misdirection fades from D.
9/18 20:39:30.246 Misdirection fades from C.
9/18 20:39:31.649 Misdirection fades from B.
9/18 20:39:31.072 Misdirection fades from A.
9/18 20:39:32.874 Misdirection fades from F.
9/18 20:39:32.221 Misdirection fades from E.
It becomes easier, but allowing for lines later in the combat log to affect threat calculated from earlier lines would require some reworking. I will probably break down and give in eventually.
It would seem to only be a problem in fights where multiple MDs are going up at the same time (which in reality, are the only fights where MD is really useful). In a one tank fight, there's only ever one MD active which simplifies the problem a whole lot. Otherwise, on fights like VR where MD truly shines, you'll have a real problem.
Same note I posted on the BB thread on this: it cannot track Sunder reapplication threat, so for non-prot tanks it's going to have significant inaccuracies.
Melador> Incidentally, these last few pages are why people hate lawyers.
Viator> I really don't want to go all Kalman here.
Bury> Just imagine what the world would be like if you used your powers for good.
You are right Kalman but as long as it's consistent in the assumptions it makes e.g. calculating threat generated by Devastate based on the assumption that 5 sunders up then it should be tollerable.
You are right Kalman but as long as it's consistent in the assumptions it makes e.g. calculating threat generated by Devastate based on the assumption that 5 sunders up then it should be tollerable.
The threat generated by Devastate is not dependent on the number of Sunders up. The tooltip is somewhat misleading in this regard, yeah.
The problem is that a non-prot warrior tanking will be using a cycle somewhat like this:
Sunder Armor, Sunder Armor, Sunder Armor, Revenge
Which means a huge portion of his threat will be coming from Sunder Armor, and I have no way to track that. So... it's useless for non-prot warriors. This is sad but there's nothing I can do about it. I think I should put the warning about that more front and center; I'll update it on the next release.
Risking going a little out of topic here I'll leave the heads up that 2.3 or 2.4, not sure which one at the moment, will completely revamp the combat log.
Going on the little information there is at the moment I believe a lot of information that is lost now will be able to be tracked.
So, even if it's not possible now to track things like Sunder Armor, it won't be long (we hope) until tools like this are able to give an exact account of the fight.
Just a small FYI.
<edit>
The patch slated to introduce the new combat log is 2.4, so it'll still be some time...
</edit>
As another suggestion - and I'm not sure how easy it would be to implement - how about including the incoming damage onto the chart? It may be useful to know "Oh, the tank just had a huge string of dodge/parry/block and is now rage starved, so his threat generation took a dive" instead of wondering "Well, all of a sudden he just lost a bunch of threat gen - was he slacking?"