Code monitors performance improvements
Created by: camdencheek
This epic is a preliminary tracker for some of the upcoming improvements to code monitors following the commit/diff refactors. This may be split up into multiple epics in the future, but for now will just help with organization.
Main objectives
- Make code monitors repo-aware
- Increase repository limit on monitors to > 10,000 and possibly no documented limit
- Improve our change detection ability to make code monitors suitable for security use cases
Problem to solve
Code monitors have faced significant adoption issues since their release due to the initial 50 repository limit. Many clients expressed the need or desire to run monitors on all their repositories. For example, if you're trying to detect an instance of log4j in your codebase of 1,000 repos, it's not realistic to created 200 individual monitors each over 50 repos.
Additionally, Code monitors previously could only monitor one branch. A monitor that can monitor all branches is far more useful, since you can catch code that matches a bad pattern before it's merged into main.
Measure of success
- 5 code monitors enabled that have a scale of larger than 50 repositories by end of FY23 Q3
- 3 code monitors enabled that have a scale of larger than 10,000 repositories by end of FY23 Q3
- 1,000 code monitors sent by end of FY23 Q3
Solution summary
This project removes the scaling limit to code monitors entirely: there will be no known limits to how many repositories code monitors can run over. Support for monitoring all branches of a repository will also be added. This is an understatement of the effort involved in this project, which has spanned over 30 GitHub issues (so far).
What specific customers are we iterating on the problem and solution with?
Product gap: Unlimited** Repo Limit for Code Monitoring**
- https://github.com/sourcegraph/accounts/issues/1603
- https://github.com/sourcegraph/accounts/issues/8445
- https://github.com/sourcegraph/accounts/issues/1603
- https://github.com/sourcegraph/accounts/issues/6312
- https://github.com/sourcegraph/accounts/issues/8360
Impact on use cases
These improvements make Code monitoring highly suitable for our Code security use case. Customers will be able to monitor all branches on every repository with performant Code monitors.
Delivery plan
- Reach out to current users of Code monitors to notify them of the integrations and performance improvements and offer trainings
- Monitor new pings created to measure the impact of these integrations on usage