VMware Modern Apps Community
AbhishekSK
Hot Shot
Hot Shot

Stacked Area chart showing double results after metric point tag change

I have a stacked area chart showing a set of metrics over time. I fixed a bug that was adding the wrong point tag to the metrics I was sending, and that change took effect on Tuesday. Wavefront interprets each metric with the different tag as a new metric, which is expected. However, instead of showing the old metrics before Tuesday and the new ones after, it shows both the new and old metrics (at constant values) if I select a time period starting before the change occurred and ending after.  I expected that at the boundary of the change, the old metric height would shrink to 0 and the new would grow from 0 to its full value, but it shows all metrics at their last/next value throughout the chart.

I am not interpolating the data, and changing other options doesn't seem to affect it. I thought that maybe using the default() function with a default of 0 would fix the issue, but it did not. It kept the old metrics from showing up after the change, but the new metrics were still present before they were being sent.

If I choose a time period fully before or after the switch, only the old or new metrics show up as is appropriate. What can I do to display these metrics correctly?

0 Kudos
1 Reply
AbhishekSK
Hot Shot
Hot Shot

Hi megan_baker! This behavior is something that we evaluated and changed in v3.0. The current behavior continues to display the last known value in the display-only until the last known value is outside of the current window. For the window where the start time is before and the end time is after the issue, you can hover over the chart where the value should no longer be displayed and see that those values will stop showing up in the hover legend. As you already alluded to, the non-reporting values will stop reporting once the last known reported value is outside of the chart window.

As a short-term workaround until 3.0 is available, you should be able utilize the if() function in order to get what you need.

if(ts(my.metric, not key=value),ts(my.metric))

If you replace my.metric with your particular metric name and key=value with the incorrect tag, then the only displayed data should be values without that specified key=value. If the incorrect information is a particular point tag key, then you should use  not incorrectKey="*". If the error is tied to a specific point tag value, then you should use not key="incorrectValue".

0 Kudos