Spec Files Performance
Advanced Analysis for Individual Spec Files
Individual Spec File View
Selecting a particular spec file in Spec Files Explorer opens a detailed view of the spec file performance. You can analyze the metrics, including the trend and compare them to the previous period using six graphs that showcase the key metrics.
These metrics include
By analyzing these six metrics through the provided graphs, users can understand the spec file's performance, reliability, and characteristics over time.
This helps to identify trends, patterns, and areas for improvement, ultimately enhancing the quality and efficiency of testing processes.
![](https://docs.currents.dev/~gitbook/image?url=https%3A%2F%2F3745692499-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FqmFDEiUa9mr11LUlxDnt%252Fuploads%252F5aCdiOisaibGbFlF8H8Z%252Fcurrents-2023-07-02-00.34.18%25402x.png%3Falt%3Dmedia%26token%3D962cede3-2fb4-4e18-859e-953daf302f10&width=768&dpr=4&quality=100&sign=345d4cb3&sv=1)
Controls Overview
The Individual Spec File view allows users to sort and filter spec files by dates, tags, author, and branches. Only the Spec File recordings matching the filters will be included in the graphs and the metrics calculations.
Reading Performance Charts
Upon selecting the dates period, the charts show two lines:
The primary purple line shows the metric values for the selected period
The secondary [gray] line shows the metric value for the period preceding the selected period
For example, selecting a 14-day period reveals this type of chart:
![](https://docs.currents.dev/~gitbook/image?url=https%3A%2F%2F3745692499-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FqmFDEiUa9mr11LUlxDnt%252Fuploads%252FjHjYizdpfWiGd7L9o8hl%252Fcurrents-2023-07-02-00.22.31%25402x.png%3Falt%3Dmedia%26token%3D1405ad5b-d63d-4487-9bbd-46855548d0ac&width=768&dpr=4&quality=100&sign=8f683edd&sv=1)
The purple line shows the metric value for the selected date range (last 14 days)
The purple amounts are the average value for the selected period - i.e. the average duration of the spec file in the example based on the last 14-day recordings was 2m 16s
The gray line shows the metric value for the previous date range (28 days ago to 14 days ago)
The gray amounts are the average value for the preceding period - i.e. the average duration of the spec file in the example based on the recordings from 28 days ago rill 14 days ago was 2m 47s
The trend change value of -18.53% indicates that there was an improvement in the metric value for the recent period, compared to the preceding period
Hovering over a particular day would reveal the metric values and the difference between the selected day and the matching day in the preceding period:
![](https://docs.currents.dev/~gitbook/image?url=https%3A%2F%2F3745692499-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FqmFDEiUa9mr11LUlxDnt%252Fuploads%252FdLDU4bkM4hggVKl2yRzH%252Fcurrents-2023-07-02-00.31.38.gif%3Falt%3Dmedia%26token%3De6fe4efe-9f12-465c-bc3a-404814fd71a4&width=768&dpr=4&quality=100&sign=66e0ec0&sv=1)
For instance, let's consider the spec file analyzed in the video below. During the analysis, the peak of the average duration for this spec file occurred on the same day as the highest failure rate within the selected period.
It suggests a potential correlation between the duration of the spec file's executions and its failure rate. The fact that the highest average duration aligns with the highest failure rate indicates that longer execution times may be associated with an increased likelihood of failures for this particular spec file.
By identifying patterns or trends where these metrics coincide, users can find potential performance bottlenecks that could be causing longer execution times and leading to failures.
A similar analysis can be done on any other metric - the charts provide a visual indication of improvements or regressions in spec file performance, and also, together with Spec Files history allow pinpointing the root cause of change in the performance metrics.
Executions History
![](https://docs.currents.dev/~gitbook/image?url=https%3A%2F%2F3745692499-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FqmFDEiUa9mr11LUlxDnt%252Fuploads%252FSqE1OSsjwbChIhVclgC4%252Fcurrents-2023-07-02-00.41.06%25402x.png%3Falt%3Dmedia%26token%3Da24b54be-d7ac-4121-8aee-82dafcbbccb9&width=768&dpr=4&quality=100&sign=403de305&sv=1)
The Executions History shows the recordings matching the selected filters on a timeline - each bar is an execution, its colour is determined by the spec file outcome, and the height is the relative duration of the recording.
Users can use a brush tool to engage with these histograms, enabling them to zoom in and concentrate on executions in a particular period of interest.
Overview Histogram (Brush)
The upper histogram (the Brush) shows all the executions for the selected period and allows quick navigation and focusing on specific executions. One can change the metric used for the histogram for more efficient navigation.
For example, the recording below shows the executions history for a particular spec file. The default settings show 18 pages (or 856 samples) of matching items - it would be cumbersome to go through all 18 pages.
By switching the histogram to use "Failure Rate" we quickly visually identify the period with an increased failure rate and adjust executions by dragging the histogram brush handles. In the example below we reduced the number of samples to 147 (3 pages) - that allowed us to quickly find the executions that caused the increase in failure rate.
![](https://docs.currents.dev/~gitbook/image?url=https%3A%2F%2F3745692499-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FqmFDEiUa9mr11LUlxDnt%252Fuploads%252FApfzcSVXyxRLBdyq8TOE%252Fcurrents-2023-07-02-00.50.11.gif%3Falt%3Dmedia%26token%3D7a2cd387-1cae-48ad-970f-fdbf3fe930ad&width=768&dpr=4&quality=100&sign=df9e9ba1&sv=1)
Executions Timeline
Users can also arrange executions based on branches using the "Collapse branch" flag. This functionality enables a more structured and organized view of the data, grouping the executions according to their respective branches.
The Spec Files Execution History feature also organizes every spec file execution in a timeline format, where colors represent their respective execution status (Failed, Passed, and Flaky). Each spec file execution entry provides users with essential information such as the date, time, duration, branch, commit message, and author. Additionally, for failed tests, the feature presents an error preview.
Clicking on a recording (the bar) will open the selected recording and the associated run.
Last updated