The Analytics Sandbox in AOC is a powerful, real-time analytics engine that can be used to build queries and gain insights into the health of all application components. Analytics Sandbox has the following main components

  • Chart Plot provides real-time plot as you build the queries
  • Time Window Slider used to set the time interval for queries and plot
  • Query Builder for creating the queries
  • Save Analysis to save queries as dashboard or alerts

screen shot 2017-02-14 at 3 22 34 pm

Chart Plot and Time Window Slider

The chart plot area will plot the results of all selected query statements. A Chart can be one of the following types - multi-line, area, stacked bar, bar, pie, table and gauge.

The time window slider is used to set the start and end time for datapoints to use in the plots. AOC will filter and only use the datapoints within the selected time window. Some important points to note for time window selection:

  • If the end time is selected as now then the plot will be updated with real-time data. The real-time update can be paused using the pause/resume toggle in the time window slider.
  • As the selected time window is increased, the datapoints resolution (or granularity) of the plot reduces from 1sec, 1min, 1hr and so on. The highest resolution available is datapoints per second.

screen shot 2017-02-14 at 3 22 54 pm

Query Builder

The query builder area has the following main components:

  • Query can be either MAIN QUERY or one of the SUBQUERY's. The Main Query and Sub Query's further consist of multiple query statements. Main Query is required and Sub Query is optional (Please consult sub-query documentation for more details.)
  • + METRIC is used to create and add query statements
  • + EXPRESSION is used to create expression statements which can combine the values from multiple queries and perform arithmetic operations on queries. (Please consult expressions documentation for more details.)

screen shot 2017-02-14 at 3 23 18 pm

Query Statement

Query statements are identified by an alphabet name. This name is used for referencing to the query statement in chart plot as well as in expressions combining queries. There is also a checkbox to select/unselect a query statement for plotting. Query Statements have following key components:

  • Datasource which identifies the resource (e.g HTTP, DNS, MySQL, etc.) and associated metrics for the resource (e.g. latency, count, packets, bytes, etc.). (Please consult datasource documentation for more details)
  • Aggregation specifies aggregation of data points at a given time t. For instance, if it's a multiline chart, value of the datasource at time t is determined by aggregating all datapoints occuring in the time window between the previous datapoint and current datapoint. Possible aggregations include avg, min, max, sum, count, rate, throughput, std_dev.
  • Time Rollup specifies a knob to aggregate data points based on the time dimension i.e., the chosen aggregation is applied on top of the already aggregated datapoints obtained by using Aggregation over raw data points. Possible aggregations include avg, max, min and sum. For example, if the metrics are collected every 20 seconds and if we want to perform an aggregation over time dimension i.e., viewing the data in higher granularity intervals, we will use the rollup function. So, in order to create a single line that represents the sum of available disk space across all hosts rolled up in buckets of arbitrary intervals (granularity), you would choose Aggregation with sum and Time Rollup with avg.
  • Groups is used for grouping the datapoints based on specific attributes. For e.g., http.request_response.latency datapoints can be grouped by server IP or URI Paths.
  • Time Shift will shift plotting of datapoints by specified duration. For e.g., with time shift of 30mins, the value at 2:30pm actually happened at 2pm. Time shift is very useful for answering questions such as what was the latency of HTTP services 1 week ago and how does that compare with the current latencies?
  • Filters offer further options to filter the data either based on specific attributes or based on nested sub-queries. (Please consult filters documentation for more details).

screen shot 2017-02-14 at 4 01 35 pm

Join our Public Slack Channel if you have any questions.