Analytics Console: Query Playground
- Aaron Roworth
Writing mongo queries for the first time can be quite intimidating - luckily however, the analytics console provides the query playground, for users to build out and test their own custom queries, before you begin implementing them in your dashboard.
The query playground will let you choose from either your pre-built queries, or create a brand new one.
Users will be prompted to fill in the values required by the query, before being able to execute it. This emulates how a query would be set up within the dashboard, and is extremely helpful for testing and prototyping purposes.
The output is formatted in JSON, which is what will be absorbed by the API powering the visuals behind your analytics graphs - The goal is to output JSON that is able to be turned into the graph of your choosing, once it's ran within the dashboard - we'll cover more of this later.
Now your query is created, if you return to the playground and select it, a new blue box titled Search Parameters will appear below the query box. You'll see here it's asking for the value of n.
here, we need to pass in the value type, followed by the value. We want to see the last X number of events, so we we need to tell it that it's an integer, and what it's value is.
here, we'll pass in int:2.
This tells the query that the value is an integer, and the integer is 2.
Before you can run this, you need to select the collector that you wish query. You can read all about how collectors work here.
Hit apply, and watch what happens next:
{ "utilities": [ { "_id": "594376d9f59a7c6d1cb00e19", "name": "Server CLI Request", "tags": { "value": 1497509350209, "label": "kynan", "action": "Stop", "category": "Videos" }, "date": "2017-06-16T06:12:41.402Z", "__v": 0 }, { "_id": "594376d9f59a7c6d1cb00e18", "name": "Server CLI Request", "tags": { "value": 1497509263823, "label": "aaron", "action": "Start", "category": "Videos" }, "date": "2017-06-16T06:12:41.402Z", "__v": 0 } ] }
Your output will always be returned in JSON format, inside an utilities array. These events here are custom events collected using the JavaScript SDK. the _id and name values are preconfigured by the SDK, acting as an identifier and the service the request was made from. The tags section has been logged by the user, from their custom analytics script.
The tags section contains the data we want to tap into.