Query Builder

The Backtrace query builder provides facilities for investigating crashes with advanced filtering, grouping and aggregation. The query builder allows for queries to be saved and shared. Please read below for an introduction.

You can get to the query builder by clicking on the Query Builder item in the Project dropdown.

Queries

There are two types of queries. Aggregation queries and selection queries. Aggregation queries summarize multiple crashes while selection queries are used to list individual crashes. Queries operate on attributes. Learn more about attributes by clicking here.

Date Picker

The date picker allows you to filter on arbitrary dates. You are able to supply natural language for date specification such as now, 1 hour ago and 7 November 2017. Learn more at the Chrono homepage.

Filter

Filtering is used to exclude crashes from your results view. The filters that can be performed depends on the type of attributes being filtered. There are two primary types of attributes, integers and strings. The video below demonstrates adding filters to constrain the set of crashes displayed.

String Attributes

Operation Description
contains The attribute value contains the specified string.
equal The attribute value is equal to the specified string.
inverse-regular-expression The attribute value does not match the specified POSIX extended regular expression.
not-contains The attribute value does not contain the specified string.
not-equal The attribute value does not equal the specified string.
regular-expression The attribute value matches the specified POSIX extended regular expression.

Integer Attributes

Operation Description
at-least The integer attribute must have a value greater than or equal to the one specified.
at-most The integer attribute must have a value less than or equal to the one specified.
greater-than The integer attribute must have a value greater than the one specified.
equal The integer attribute must have a value equal to the one specified.
less-than The integer attribute must have a value less than the one specified.
not-equal The integer attribute must have a value not equal to the one specified.

Aggregate View

The aggregation view displays user-defined aggregation and statistics for multiple crashes. You are able to group by (facet) on your crash data as well as perform custom aggregations.

Group by

Grouping allows you to facet results by an attribute. For example, if you wanted a breakdown of the number of unique crashes by application version (assuming you have created a version attribute), then specify the version attribute in the group by field.

Aggregation

Aggregations allow you to perform statistics on the values of attributes. This assists in impact, prioritization and anomaly detection.

Operation Attribute Type Description
bin Integer Generate a linear histogram for the range of the integer attribute.
histogram Any Perform a count of every unique value of an attribute.
head Any Display the value of the attribute for the oldest submitted object.
range Integer Display the minimum and maximum value for an attribute.
sum Integer Perform a sum across all values of an attribute.
tail Any Display the value of the attribute for the newest submitted object.
unique Any Display a count of the unique values for an attribute.

Table View

The table view provides a listing of individual crashes submitted to your Backtrace instance. Select it by clicking on the Table view tab in the query pane.

Saving Queries

You are able to save queries using the Saved Queries drop-down in the summary pane. The video below illustrates the saving of a query and loading saved queries.

Selection

You are able to add and remove columns in the table for different attributes under the Select component of the query builder.

User Interface

There are three primary components to the user interface. They are enumerated below by the white numbers.

1. The Query Pane

The query pane in collapsed state is labeled 1 above. In closed state, you are able to switch from an aggregation view (crash statistics summary) to table view (individual crash listing) as well as modify the date range of the data set.

Press the Edit button to expand it. The expanded query pane allows for modifying filter, grouping and aggregation criteria. You are also able to switch from an aggregation view to a table view that lists individual crashes.

2. The Summary

The summary pane is labeled 2 above. It contains a histogram of crashes over time. Clicking on the bars allow you to perform further actions such as filtering and drilling down. The query selector allows you to load a saved query and the Save button allows saving a query. The sort by button allows specification of how query results should be ordered.

3. The Results

The results section contains the results of the query. If you are in the aggregation view, results can be drilled down further clicking on the button next to the group label.