How to analyse Warcraft Logs: part two

1 Star2 Stars3 Stars4 Stars5 Stars (8 votes, average: 4.75 out of 5)

This is the second instalment in the Warcraft Logs analysis series. To read part one, which was written for Patch 7.1.0 but still contains relevant information, click here.

In part two we’ll be looking at specific talents and how your analysis should vary based on your build. This instalment assumes you are familiar with part one and have a basic understanding of navigating the Warcraft Logs interface.


What changed from 7.1.0 to 7.1.5?

Due to extensive changes to the spec, the way we look at Maelstrom wastage while using Ascendance requires a different approach from 7.1.0, and examining Frost Shock usage with Icefury buffs requires yet another approach. Additionally, there are now more spells and buffs to look at.

Ascendance usage (click to expand)

Ascendance is a popular talent choice but is easy to mess up in the stress of a boss fight. For this section, I will be using a parse of normal Grand Magistrix Elisande by Naesam; if you’d like to follow along, the link to the log is here. When looking at your logs with Ascendance, you have to be mindful of a few things:

  1. Are you getting the full benefit from the cooldown?
  2. Are you wasting a use of Ascendance by holding it for too long?
  3. Are you correctly casting Elemental Blast during Ascendance?
  4. Are you incorrectly casting Earth Shock during Ascendance?

Ascendance – making the most of those 15 seconds

Ascendance is only a 15-second window every 3 minutes for you to do a massive amount of damage. Making a mistake during this time or being forced to move will decrease your damage potential considerably. It takes experience, but getting the most out of this talent requires some forethought: What will you have to do in the next 15 seconds? Is it safe to use the cooldown now, or should you wait a little bit?

These questions can only be answered with your own experience and learning the times of boss mechanics, but you can look at how your Ascendance usage is going now with Warcraft Logs.

Add the Ascendance buff as a pin by clicking the + sign next to it in the Buffs tab. This shows a pin of the times in the encounter where you had the Ascendance buff active. On the pin graph, click the Graph: Separate option until it reads Graph: Main.


This selection shows you a very simple overlay of Ascendance buff uptime over your DPS. This isn’t very helpful for analysis, so move to the Casts tab, and select a small portion of the fight around your first Ascendance time frame:


Doing so will result in a much prettier and more easily read view that shows casts in the graph and in the special casts timeline view.


Here you can see a well-executed Ascendance window. He was always casting Lava Burst until Elemental Blast was off cooldown, and he did not cast Earth Shock until after Ascendance had finished. This is how you want your windows to look. Note that the graph and cast timeline view do not sync up perfectly, but you can compare the times between the two to see how your casts line up with the 15-second window. If you see gaps, failed casts, no Elemental Blast usage, or casts of Earth Shock, you can start working on improving those specific issues with Ascendance usage. An example of what a bad usage of Ascendance looks like (anonymous, randomly selected parse from WCL):


One way to look at Earth Shock casts during Ascendance in particular is using WCL Expressions to find Earth Shock casts that are used when the Ascendance buff is up. This is an advanced feature, but I will explain each part anyway. The expression we’ll use is:

IN RANGE FROM type = "applybuff" AND = "Ascendance" TO type = "removebuff" AND = "Ascendance" GROUP BY target ON source END
AND = "Earth Shock"

This tells WCL to look for any events during Ascendance. Then, it filters out any events that aren’t spells named Earth Shock. This expression can be copy-pasted into the New Expression tab in the Queries menu, as a Filter pin:


Clicking create pin and navigating to the Casts menu will now show you any instances of Earth Shock used during Ascendance. If the graph is empty, you should be happy! Here’s an example with three Earth Shocks used erroneously:


Ascendance – Maelstrom wastage

Maelstrom wastage with Ascendance differs from that with other talents. Due to high levels of mastery, it is almost always better to cast Lava Burst and continue capping your Maelstrom instead of spending it with Earth Shock during Ascendance. This presents a problem with the methodology we used in part one when looking at Maelstrom wastage: How can you differentiate between Maelstrom wasted during Ascendance and Maelstrom wasted outside of that window?

To answer this question, we’ll use the Queries view. You’ll be met with what is a rather daunting screen, but achieving our task requires only a small amount of work. Check the Buffs & Debuffs option, which will show an option below named Only Match if Aura is {Present} on {Target}. Check this, and change Present to Absent, and Target to Source. Below that, enter your shaman’s name in the Actors field (or click the down arrow, and select your shaman from the list). In this example, we’ll use “Sham”, the name of Naesam’s shaman. Afterwards, you’ll want to filter for Ascendance, so click the down arrow in the Abilities field, and then under A, select Ascendance. Lastly, below the field you can see the Pin Type selector. Change this from Decorator to Filter. At the very bottom, click Create Pin.


Navigate to Resources > Maelstrom (instructions in part one), and you should see a pin above the Maelstrom graph that says something like:

Events: Buffs/Debuffs Absent On Source Actors: Sham Abilities: Ascendance (ID: 114050)

This indicates that your filter has been applied correctly. Changing this pin’s type between Filter and Decorator will show you Maelstrom wasted outside of Ascendance (Filter) and total Maelstrom wasted (Decorator).

Lava Burst Maelstrom wasted, including Ascendance windows:


Lava Burst Maelstrom wasted, filtered to exclude Ascendance windows:


Icefury usage (click to expand)

Icefury is also difficult to look at in Warcraft Logs, but I’ve come up with a few ways of evaluating your Icefury usage. There are three situations to look for when using Icefury:

  1. Are you letting Icefury stacks expire without using them?
  2. Are you using Icefury-empowered Frost Shocks below 20 Maelstrom?
  3. Are you using Frost Shock without Icefury stacks?

Icefury – looking for unused stacks

As of this post’s writing, Warcraft Logs unfortunately does not track Icefury stacks. This makes knowing whether or not you consumed all the stacks before the buff expired a bit challenging. A basic heuristic we can use is to look at buff duration. Generally, Icefury expiring will result in a full 15 seconds of the buff, which can be seen by looking at Icefury in the buffs pane and hovering over each instance.


Icefury – looking for Frost Shocks below 20 Maelstrom

Warcraft Logs expressions can be used to find any Frost Shock casts used below 20 Maelstrom. In the Queries tab, add a New Expression and copy-paste the following into the expression field: = "Frost Shock" AND resources.type = 11 AND resources.amount < 20

Add this expression as a Filter pin. Next, navigate back to Frost Shock casts and you'll see whether or not you used Frost Shock below 20 Maelstrom at any point during the encounter. An example with one Frost Shock used below 20 Maelstrom is shown:



Icefury - looking for unempowered Frost Shocks

We're going to use Warcraft Logs expressions to find Frost Shock casts that are used when the Icefury buff is not up. The expression we'll use is:

IN RANGE FROM type = "removebuff" AND = "Icefury" TO type = "applybuff" AND = "Icefury" GROUP BY target ON source END
AND = "Frost Shock"

This tells WCL to look for any events between the time when Icefury's buff falls off (you use all the stacks or it expires) and Icefury's buff comes back up (you cast Icefury successfully). Then, it filters out any events that aren't spells named Frost Shock. This expression can be copy-pasted into the New Expression tab in the Queries menu, as a Filter pin:


Clicking create pin and navigating to the Casts menu will now show you any instances of Frost Shock when Icefury's buff was not active. If the graph is empty, you should be happy! Here's an example with one Frost Shock used erroneously:


That's about all for now. If you have any issues with some steps above or would like to add pointers, visit this thread on our forums.