We’ve added two new features to make the query language even better – a new wildcard operator that doesn’t match metric children, and a method for adding a constant value to any graph.
1) ? wildcard operator.
This wildcard operator is basically the same as * except that it will never match a dot. This makes matching top level metric names without matching the children easy.
For example, here’s a few metrics we use to track new user signups. These are simple increments that keep track of where a user came from:
signup.organic # this user came out of nowhere signup.newsletter # a new subscriber to our newsletter signup.paid # any paid signup signup.paid.google_ads # a paid signup from google ads signup.paid.bing_ads # a paid signup from bing ads signup.paid.facebook_ads # a paid signup from facebook ads
Using our * wildcard to graph these metrics would include these paid breakdowns, throwing off our numbers and making that graph harder to understand. The fix was to graph each metric individually, avoiding signup.paid.*.
Using this new wildcard, you can graph:
This will match signup.paid, but not signup.paid.google_ads. This little guy’s already making our graphs cleaner and easier to understand.
Sometimes you want to just show a reference value on a graph. This is super useful if you have an alert and you want to see the threshold alongside the graph.
Here we’ve set a constant value of 175,000,000 on a graph tracking collector metrics received in Instrumental. This is a pretty high constant, but we do receive a ton of metrics.
We’re excited to bring this improvement to the query language and make it even easier to monitor your application!