New in Awesome Graphs: Analyzing Pull Requests Resolution Time, Monitoring Repository Indexing, and More

November 1, 2018
6 min
bitbucket code review

Our app Awesome Graphs for Bitbucket visualizes statistics of commits, pull requests, and lines of code helping to monitor and analyze code development and code review.

During the past year we’ve added new great features and made significant improvements. Let us tell you how you can benefit from them.

Pull requests’ resolution time distribution

We’ve created a new pull requests report – Resolution Time Distribution.

This report helps you to answer such questions:

  • How long does it usually takes to resolve pull requests?
  • Are there more pull requests with a long or short resolution time?
  • What is an expected resolution time for future pull requests?
  • What pull requests of the period had the shortest/longest resolution times?
  • How long it took to resolve a particular pull request?

Resolution time distribution report

In the report you will see pull requests grouped by time taken to resolve them (merge or decline).

You will see median, 25 and 75 percentile of pull requests’ resolution time. This data can help you to estimate resolution time of future pull requests.

For any time interval (blue bar on the chart) you will be able to see a list of all pull requests with their resolution time and reviewers. For more detailed analysis you can easily switch to a particular pull request to see code changes and discussion during review.

List of pull requests in Resolution time distribution report

Learn more about this report

Admin tools for monitoring repository indexing

We’ve created powerful tools helping to administer Awesome Graphs. These tools are helpful when monitoring Awesome Graphs performance during repository indexing and troubleshooting app related issues.

JMX Metrics

Performance of Awesome Graphs can be monitored via JMX. It provides administrators with the way to understand what is happening in the app. You can estimate how much time repository indexing will take, see if there are any issues while indexing repositories or refs, monitor resource consumption.

JMX metrics of Awesome Graphs

More information in logs

Awesome Graphs creates comprehensive logs. It helps to easily investigate app related issues.

In Bitbucket UI and in support zip admins can see information about data indexed by Awesome Graphs:

  • total number of indexed contributors
  • total number of indexed commits
  • number of repositories in indexing queue

Detailed information about repository indexing is recorded in awesome-graphs.log file located in the Bitbucket home directory.

Alerts to admins

If a repository could not be indexed admins will get a notification via Bitbucket alerts. It helps to quickly detect and solve problems.

Alert to admins in Bitbucket

Learn more about administering Awesome Graphs

Improved performance

We’ve significantly improved performance of Awesome Graphs during repository indexing:

  • Commit data are indexed in batches to decrease memory usage.
  • While indexing forks only unique commits are stored in the database. If the same commit exists both in a fork and an original repository, it is not duplicated. This change helps to improve performance and reduce database size. For one of our customers with 10.000+ repositories the size of the table was reduced by four times.
  • Awesome Graphs uses adaptive throttling. With it Bitbucket examines the total physical memory on the machine and determines a maximum ticket number that the machine can safely support. This approach improves the system performance during repository indexing. Learn more about adaptive throttling.

We are always happy to receive feedback from customers. Feel free to contact us if you have any questions or would like to suggest new features.

Awesome Graphs has become more awesome. Try this app for free