2018-10.x release highlights (click the links for more):
- Azure Cloud Monitoring - Beta
- Direct Data Ingestion supports sending data directly to Wavefront instead of to the Wavefront proxy.
- Derived Metrics allow you to run a query and ingest the results back into Wavefront. The saved query runs continuously and ingests the points into a new metric that you specified. You can use the derived metrics in other queries.
- Change in Duplicate Data Point Treatment. If you send a duplicate data point (i.e. same metric name, source, point tags, timestamp) with a different value then the last value you send overwrites the previous. As a result, you can now rewrite incorrect data.
- Event performance improvements. An
events()query now returns results faster, even if you use wildcards. Note that
events()queries no longer return ongoing events that started in the past, or events that started in the past and continue beyond the current query window. See When Does an Event Query Return Events.
- New Functions and Parameters.
mdiff()- Returns the difference between the value of an expression and the value of the same expression at a specified time in the past.
mseriescount()- Moving count of series aggregated by groups over a time window.
lead()- Returns an expression time shifted by
timeWindowinto the past to enable comparison of an expression with its own future behavior.
vw- View window parameter. For example, you can now use
mavg(1vw, <exp>)to have the
mavgadjust automatically to your chart time range.
- You can pan chart windows into the future and use
hideAfter()to further refine the display.
This release supports the Holt-Winters predictive algorithm with the new
hw()function. See the blog post Expanding Wavefront Predictive Analytics - See the Future with Holt-Winters Algorithm for in-depth discussion of an example.
Azure Cloud Monitoring
A beta version of our full-featured integration with Microsoft Azure is available in this release. We will add more dashboards to this integration over the next few weeks.
Direct Data Ingestion
With direct ingestion, you can send data directly to the Wavefront service without using a proxy. Direct ingestion has some benefits and some drawbacks – using the Wavefront proxy is still supported and works as before.
See our preliminary Direct Data Ingestion documentation.
Note: You need Direct Data Ingestion permissions to perform direct data ingestion.
The derived metrics functionality allows you to run a query and ingest the results back into Wavefront. Going forward, Wavefront runs the query at a specified time intervald, similar to how it handles alerts. For example, if you have a complex or time-consuming query, Wavefront can ingest the result as a derived metric. You no longer have to rerun the query each time you want to graph the historic value. Once a derived is saved, it is executed every minuteby default.
Wavefront charges for derived metrics on a per-pps basis.
Use functions like
taggify to ensure that the resulting new series don’t conflict with the series of the original query.
See our Derived Metrics documentation.
Note: You need Derived Metrics Management permissions to create and modify derived metrics. You don’t need additional permissions to use the derived metrics in other queries.
New Functions and Parameters
We added the following new functions and parameters in this release:
mdiff()– Returns the difference between the value of expression and the value of expression timeWindow ago, for example the difference between expression and expression 5 minutes ago. This is a raw function, so it does not interpolate the points before doing the subtraction.
mseriescount()– Returns the number of series reporting over a time window. For example,
mseriescount(60m, ts(my.metric))returns, at each point, the number of series reporting over the last 60 minutes. This function is always raw.
vw– Allows you to specify the window that you are currently looking at for any functions that take
timeWindowas an argument. For example,
1vwis 1 view window length. If you look at a 30-minute window and specify
1vw, it’s equivalent to 30 minutes. If you specify
4vwfor a 30-minute window, it’s 2 hours.
See the Query Language Reference.
This release also includes the
hw predictive function and several enabling functions (
hideAfter()), discussed next.
Predictive analysis can help you with capacity planning, forecasting, and more. To support predictive analysis, this release includes the following features and functions:
- You can now pan the chart window into the future. Click and hold below the timeline (x-axis) of a chart and drag to the left. The results only make sense if you’re using a predictive function.
- You can use the Holt-Winters algorithm, also called Exponential Smoothing to perform prediction on seasonal time series. The
leadfunctions support Holt-Winters. See Holt-Winters Predictive Analysis for details on our implementation.
hideAfterfunctions hide data before or after a specified time. For example,
hideBefore(10m)hides data that’s older than 10 minutes and
hideAfter(10m)hides data that’s newer than 10 minutes ago.
- Use the
leadfunction to return an expression that is time shifted by
timeWindowinto the past, to enable comparison of an expression with its own future behavior. For example,
lead(3h, ts(my.metric))returns each point from the expression 3 hours earlier than its true timestamp.
Predictive functions smooth out existing data to arrive at the prediction, so you might see a fairly jagged line in your chart become almost completely straight. However, the line shows the trend of your metrics, for example, you might see that the ingested metrics increase over time.
See the Predictive Functions Reference.