Hermes: The great messenger of your raid's cooldowns!

All things /script related

Moderators: Fridmarr, Worldie, Aergis, _Chloe

Re: Hermes: The great messenger of your raid's cooldowns!

Postby Vrimmel » Mon Nov 29, 2010 4:01 pm

How much traffic comes with this addon?
Vrimmel
 
Posts: 140
Joined: Sun Apr 13, 2008 5:40 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Mon Nov 29, 2010 5:14 pm

Vrimmel wrote:How much traffic comes with this addon?


This is a very valid concern and I'm happy that you asked it...

It's hard to say really. Mostly because I've never seen it in a raid environment with everyone running it. One thing I know for sure is that with 5 people is very small. I am not completely sure how it'll scale to 25, or 40. It's mostly due to the initial handshaking that's done. After that initial handshaking, I'm confident about its efficiency.

For example, some precautions I've taken include:

1. I utilize Ace3's AceComm-3.0 library for communication. It in turn uses ChatThrottleLib to avoid being disconnected by the server.

2. The Receivers and Senders keep track of who they know about (in memory) and avoid sending messages to people they know won't have anything useful. For example, when Senders first join a raid group, they send a INITIALIZE_SENDER message which all Receivers will get. The only data in the message is a single number, which ultimately represents the class of the sender. Just by sending a number instead of a string I'm saving on bandwidth.

3. When Receivers get the INITIALIZE_SENDER message, they check to see if they want to track any spells for that class, compile a list of those spells, and if it has any then it sends them in one bulk message to the sender. This message is called REQUEST_SPELLS and it contains an indexed table (not a hash table, so it's less memory). And as you might guess, it's a table of spell or item id's. Nothing but numbers again. Just the cost of the table which cannot be avoided.

4. In item 3 above, I don't need to send a "type" value (is it a spell or an item id?) because I encode the numbers. Positive numbers are spellid's and negative numbers are itemid's. So I save more bandwidth there, and reduce the number of messages by sending spell and item requests in one shot. And btw, quite a few spellids can fit in one message without requiring AceComm to split it up.

5. There is another handshaking message called INITIALIZE_RECEIVER which as you might guess is sent by the receiver when it joins a raid group. The message has no content, no value is actually sent. It's simply sent so that Senders can respond with an INITIALIZE_SENDER message. This is the handshaking I was talking about. Note that in this case, INITIALIZE_SENDER is whispered to the receiver instead of being broadcast to the raid channel. Further cutting down on chatter.

6. Finally, the way Senders decide when to send cooldown updates to Receivers is quite efficient. And the messages are also sent in batches similar to the REQUEST_SPELLS message. In other words, if there are 5 cooldowns updates to be communicated, the Sender doesn't send 5 separate messages. It sends one message with all 5 updates packed into it.

7. The last thing, no one has ever really asked why I use a Class value when adding spells or items. But the sole purpose has more to do with reducing chatter and message bandwidth than for any functional reason.

8. Even the simple fact that I allow you to choose whether you want to act as a Sender, a Receiver, or both is something that can cut down on traffic. If you have nothing useful to send to anyone, disable sending.

I've put a lot of thought into the protocol I use and I have a fair amount of confidence. I just wish I could say that someone has used it in heavy load. But I cannot.

More than you wanted to know? :)

Oh, I almost forgot, even the messages are sent as a number instead of a string:

Code: Select all
local MESSAGE_ENUM = {
   [1]      = "INITIALIZE_SENDER",
   [2]      = "INITIALIZE_RECEIVER",
   [3]      = "REQUEST_SPELLS",
   [4]      = "UPDATE_SPELLS",
}
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Tue Nov 30, 2010 9:47 pm

I have some real data to share to help answer the "how much traffic" question better.

Note that I discovered two bugs during this test:
1. Spells that receivers didn't have checked were still being requested of senders. This will have resulted in extra messages but I couldn't say how many. I'm guessing 4 to 5 per player in this time span.
2. Big bug with DK's and Army of the Dead (and possibly other DK spells tied to Rune Cooldowns). I subtracted out the DK values from the reults (I treated the DK like the lowest message count player instead)

Disclaimer: The results make Hermes look pretty good to me but there are some missing variables which I know will have an impact. Hermes does handshaking and the others don't. This adds overhead. The more users, the more handshaking is needed. This handhaking only occurs when players join a raid, reloadui their UI, or stop/start Hermes. But it does exist.

Here are the results:

Image
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Sun Dec 05, 2010 9:15 pm

Updated first post with changes.
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Mon Jan 10, 2011 12:55 pm

Just felt like bumping this thread. My guild has been successfully using Hermes through Cataclysm and it's very stable. It's true that we had to ask a few people to install it who wouldn't care otherwise, but they appreciated the fact that they could set it up so that it was invisible to them that it was even running. Out of sight, out of mind.

Raid leaders mostly use it for Druid Rebirths but the healers like it for a few abilities such as Mana Tide Totem. I personally use it for Lay on Hands, Hand of Sacrifice, Pain Suppression, and Guardian Spirit. Our damn priests change spec so much I wouldn't know who has what without it :)

Hermes hasn't required any updates since December.
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby sculder » Mon Jan 10, 2011 1:08 pm

rebirths have become a bit of a problem since the limit to the number of combat resurrections possible... Usually some warlock stupidly soulstones himself and eats up one of our rez's, or it bugs out and doesn't give us any at all.
User avatar
sculder
 
Posts: 113
Joined: Sun Jul 25, 2010 9:34 am
Location: Massachusetts

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Mon Jan 10, 2011 4:32 pm

I do wish they'd fix that bug, it's very annoying. I read somewhere that releasing before the boss resets is what causes it. I have no idea if there's any truth to that.
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Thu May 26, 2011 8:05 am

Hey gang, I wanted to bump this thread in preparation for the next release I'll be making. Hermes has come a LONG way since first created. It's certainly a first class citizen in the category of tracking raid cooldowns.

Coming soon (in a few days), Hermes will track spell cooldowns of players NOT running Hermes. This is the primary bit of functionality that has prevented people from adopting Hermes.

Over the last few months, the UI gone over a significant overhaul. The basic "Button" style display that is the most popular remains the same:

Image

But you can also view cooldowns as traditional "Cooldown Bars" that are HIGHLY configurable. Take this screenshot for example from someone in my guild:

Image

While not immediately apparent since you're not the one who configured it, Hermes allows you to configure the look of each bar based on the state of the cooldown and player with the cooldown.

Abilities being tracked can be ordered as you see fit, bar layout can go top to bottom (like the screenshot above) or even left to right if you want them to grow that way instead (and the opposite directions too).

There's so much more I could say but don't want to type forever. I'll post another message here when I'm completed the beta version that checks tracks cooldowns for players without Hermes.

Curse Link for more information: http://wow.curseforge.com/addons/hermes/

(I don't advise downloading any alpha versions)
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby Brutalus » Fri May 27, 2011 12:46 pm

Coming soon (in a few days), Hermes will track spell cooldowns of players NOT running Hermes.


Very much looking forward to this!
Brutalus
 
Posts: 23
Joined: Sun Jun 28, 2009 3:02 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby fuzzygeek » Fri May 27, 2011 4:10 pm

Brutalus wrote:
Coming soon (in a few days), Hermes will track spell cooldowns of players NOT running Hermes.


Very much looking forward to this!


Dis
Image
User avatar
fuzzygeek
Maintankadonor
 
Posts: 3447
Joined: Wed Aug 01, 2007 1:58 pm

Re: Hermes: The great messenger of your raid's cooldowns!

Postby Nikachelle » Fri May 27, 2011 7:09 pm

Pretty much what everything else has been saying. I really look forward to this if it can provide me with everyone's CDs, without them having to install it.
User avatar
Nikachelle
Maintankadonor
 
Posts: 8406
Joined: Mon Mar 23, 2009 10:39 am
Location: Toronto, Canada

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Sat May 28, 2011 8:02 am

Beta available! This was a significant effort so the chance for bugs is high, but I'm confident enough to call it a beta.

Direct Download Link

I've updated the first post on this thread, but here's a repost of a handy feature comparison chart to wet your whistle:

Image
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby jere » Sat May 28, 2011 11:02 am

Just a thought for future updates, but any thought to add an offset option for those spells affected by glyphs that you can't account for. For example, if you know the cooldown of person A is affected by a glyph he/she has, then you could put in somewhere to do a quick

if(source == personA) then cooldown = MAX(0,exptected_cooldown-offset_personA)

Obviously not exact code (I don't know LUA at all, so just mostly psuedo), but just there for visualization.

Basically you could keep a local list of player/offset pairs that get applied (and bounded to avoid - value situations).
Image
User avatar
jere
 
Posts: 2389
Joined: Fri May 11, 2007 5:12 pm

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Sat May 28, 2011 11:08 am

jere wrote:Just a thought for future updates, but any thought to add an offset option for those spells affected by glyphs that you can't account for. For example, if you know the cooldown of person A is affected by a glyph he/she has, then you could put in somewhere to do a quick

if(source == personA) then cooldown = MAX(0,exptected_cooldown-offset_personA)

Obviously not exact code (I don't know LUA at all, so just mostly psuedo), but just there for visualization.

Basically you could keep a local list of player/offset pairs that get applied (and bounded to avoid - value situations).


Glyphs are tricky and would be TRIVIAL to support if Blizzard gave us the means to query a player for their glyphs. You can get a players talents, but not their glyphs. The only way currently, to get glyph information, is by having them run an addon that can send their glyph information to another addon. And currently, that would defeat the entire purpose of tracking cooldowns for someone not running the addon.

However, I think I have actually implemented the feature you're asking for. There is an option to make an adjustment based on a players name. If you happen to know they are using a specific glyph, you can create an adjustment by "Player Name" and use an offset appropriate for the glyph. I created this as a workaround while realizing the limitations with Blizzards current API.

I hope this helps!
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Sun May 29, 2011 3:26 pm

I've fixed a few reported bugs. I'll just link the main page for convenience instead of a direct download: http://wow.curseforge.com/addons/hermes/
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby _Chloe » Wed Jun 01, 2011 9:00 am

Stuck.
User avatar
_Chloe
Moderator
 
Posts: 831
Joined: Fri Dec 07, 2007 6:36 pm
Location: Santa Monica, CA

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Tue Jun 07, 2011 8:49 pm

Update for release 2.0c.

Spell Monitor now tracks Shaman Reincarnation (Spell Monitor is the name of the feature that tracks for non Hermes users)

Also, I don't think I mentioned it but I made a replacement UI that looks a lot more like oRA3, DBM-SpellTimers, RaidCooldowns, etc. It's called LightUI (click for curse link) and here's a sample image, It's extremely simple and easy to configure UI (just your basic spell bars with no bells or whistles):

Image
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby Kelaan » Thu Jun 09, 2011 8:56 am

Wow, this looks really slick. I'm kicking myself for not noticing your work on it earlier. I'm going to have to remember to give it a shot, especially now that it doesn't require others to run it. Thanks!
User avatar
Kelaan
 
Posts: 2551
Joined: Thu Jan 03, 2008 12:01 pm

Re: Hermes: The great messenger of your raid's cooldowns!

Postby Fetzie » Thu Jun 09, 2011 9:20 am

It somehow thinks that retribution paladins can use Aura Mastery, I had to manually set the rule for it to check for the talent.
Fetzie | Protection/Holy Paladin | EU-Kazzak
Former Author of the TankSpot Protection Paladin Guide
Image
Sagara wrote:You see, you need to *spread* the bun before you insert the hot dog.

bldavis wrote:we are trying to extend it as long as we can...it just never seems to last very long
User avatar
Fetzie
 
Posts: 2028
Joined: Sat Feb 07, 2009 9:43 am
Location: Karlsruhe, Germany

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Thu Jun 09, 2011 9:26 am

I'm proud of my work and think the addon has tremendous value. I will tell you one thing for sure, when I'n not running it (sometimes I test other addons without Hermes running) I really notice it :)

For example, my two holy/disc priests are constantly changing specs per fight. I never knew if they had PS or GS and I used to say things like " Syc, I need your GS in about 5 seconds" to which he'd respond "I don't have it, I'll give you PS though".

When not testing Hermes, I really only look at these abilities:
Container 1: Guardian Spirit, Pain Suppression, Hand of Sacrifice.
Container 2: Rebirth, Raise Ally, Soulstone, Reincarnation.

I only have container 2 due to raid leader duties.

With Hermes I always know who to ask for a given cooldown. It's a simple matter of looking a bit to the side of my screen, figuring out which of the three has what I want, and calling it out. Takes a whole 2 seconds tops to figure it out.

It depends on your healers a lot, but mine tend to use PS and GS more freely than I used to realize. But rarely did they both use it at the same time (They also run Hermes btw so they know when the other used their cooldown on someone). Long story short, the communication between myself and the two healing priests is rock solid, thanks in part to Hermes.

Our GM *LOVES* Hermes for calling out Battle Resses. That's honestly all she uses it for though (she plays a rogue). She uses button style and has gotten real good at just hovering her mouse over the button, looking at the ordered list, and calling out "X res A, Y res B" etc. It's also nice to know before you start a pull exactly how many people have resses available. For example, with Hermes, we've actually delayed the pull a minute or so to wait for more bresses to go off cooldown. She doesn't even need to ask people the status, she just looks at Hermes.

Another example is our Druids and Shaman. They constantly worry about Innervates, Tranqs, and Mana Tides.

We all use it for different reasons.

I don't know of any DPS who use it that aren't raid leaders but I know some people with cooldowns use it just to help the raid leaders out a bit (this is less important now that Hermes can track non Hermes users)

Last but not least, I use it to keep dibs on people's performance a bit. For example, in Phase 2 of Ascendent Council we had a mage complaining about lack of misdirects on one of the tanks. For me, it was as simple as enabling the "Misdirect" spell in Hermes, and then seeing which Hunters were slow to get their MD's out at the start of the phase. Bam, now I know who can improve.

I was curious if our ret and holy paladins were taking advantage of Divine Protection for fights. Enable Divine Protection in Hermes, and BAM, done deal. Now I know who's using what and when.

Hoenstly, I think most people only care about one or two abilities. That's me 90% of the time. Only occasioanlly do I monitor a few other random spells as mentioned above.

I think Hermes is a useful tool. It's one of those tools that you don't notice it's usefulness until you stop using it.
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Thu Jun 09, 2011 9:35 am

Pyrea wrote:It somehow thinks that retribution paladins can use Aura Mastery, I had to manually set the rule for it to check for the talent.


Yes, this will unfortunately be the case for any ability you want to use Spell Monitor for. This is a unique issue with Hermes because Hermes tries to tell you who has something available. All the other addons out there tell you who just used something. Hopefully you can see why this is an issue unique to Hermes.

I think most people only look at a handful of spells, so the work required on your part to make a Spell Monitor spell "correct" is hopefully limited. And because I literally provide you with all of the talent names, it's really easy to just make a requirment for the talent (sure beats typing it all in manually!)

I'm actually very happy that you were able to realize that adding a Requirement was the proper thing to do! I have been parranoid about how intuitive this feature is and that you were successful makes me happy :)

You have two options however if you want to avoid the work in the future, as I list in this FAQ:

Q: I only want to see when someone uses a spell. I don't care who has it available. Does Hermes do this?

Yes. There are two ways to do this:
1. For containers using "Bars Style", you can check the "Only show bar when spell is on cooldown" option found under the "Bars Style" section of a container.
2. Download LightUI and use that for the UI instead of the default UI. LightUI only shows abiltiies that are on cooldown.[/list]


So, if you use the LightUI or your container is set to Bars Style (not buttons) and you check that option, then Hermes acts like all the other addons out there will only show something when an ability gets used. This eliminates those "false positives" from an improperly configured spell.
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Thu Jun 09, 2011 9:41 am

By the way, you might wonder why I don't just provide all the spell requirments out of the box (such as Aura Mastery requiring the talent Aura Mastery). There are a couple reasons. The biggest one being Localization. The other reason is that it's a ton of work and I honestly don't want to maintain a list of all this stuff that will change for every patch.

My assumption is that if people are only worried about a small handful of spells, it won't be asking too much of them to configure it themselves.
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby Fetzie » Thu Jun 09, 2011 10:01 am

it was definitely easier than configuring the OUF based class timer I use :)
Fetzie | Protection/Holy Paladin | EU-Kazzak
Former Author of the TankSpot Protection Paladin Guide
Image
Sagara wrote:You see, you need to *spread* the bun before you insert the hot dog.

bldavis wrote:we are trying to extend it as long as we can...it just never seems to last very long
User avatar
Fetzie
 
Posts: 2028
Joined: Sat Feb 07, 2009 9:43 am
Location: Karlsruhe, Germany

Re: Hermes: The great messenger of your raid's cooldowns!

Postby Treck » Tue Jun 14, 2011 1:59 pm

Is there a way to make this window non interactable?

As its currently taking up a lot of space on the screen, id like it not actually removing a lot of my screen space.
User avatar
Treck
 
Posts: 1431
Joined: Thu Aug 21, 2008 8:10 am

Re: Hermes: The great messenger of your raid's cooldowns!

Postby inthedrops » Tue Jun 14, 2011 6:28 pm

Treck wrote:Is there a way to make this window non interactable?

As its currently taking up a lot of space on the screen, id like it not actually removing a lot of my screen space.


Yeah I'll lock down dragging with an option in the next release. I assume that's what you're referring to? The buttons and bars are non interactive otherwise (excluding the tooltip). So please let me know which part of all that is the complaint so I'm clear. I tend to scale mine down as needed to make it small.

I'll be pushing one more build before 4.2 with the patch changes (already tested and checked in). And I'll add a feature for that then.
inthedrops
Maintankadonor
 
Posts: 639
Joined: Mon Oct 29, 2007 9:19 am

PreviousNext

Return to Add-ons, UI, and Macros

Who is online

Users browsing this forum: No registered users and 1 guest

Who is online

In total there is 1 user online :: 0 registered, 0 hidden and 1 guest (based on users active over the past 5 minutes)
Most users ever online was 380 on Tue Oct 14, 2008 6:28 pm

Users browsing this forum: No registered users and 1 guest