Find Blocking Go Code Paths Holding back CPU Usage (Using OpenResty XRay)
The OpenResty project has a loose organization. Most of the components are self-contained open-source projects and are developed separately. They all have their own code repositories, their own test suites, or even their own maintainers. The maintainer of the OpenResty bundle, agentzh, is also maintaining most of the components included.
The ngx_openresty GitHub repository only contains the facilities to generate a tarball from all the components' releases for the bundle itself.
You can contribute patches or report bugs to each of the component separately. Please check out the Components page for more details about each component project.
Another core component, the Nginx core, is developed by the Nginx company. And the opensource development of the Nginx core usually happens on the official nginx-devel mailing list. But also keep in mind that the OpenResty bundle also maintains a set of small patches for the Nginx core to fix some urgent bugs or add a few really important features that must reside in the core.
Discussions not specific to the Nginx core should happen on the openresty-en mailing list (or the openresty Chinese mailing list). See the Community page for more details. You are always welcome to join us there.
The maintainer of the OpenResty bundle periodically runs a big test cluster on Amazon EC2 where the test suite of each component bundled is run against the latest Nginx releases. You can always check out the test reports on the qa.openresty.org site. You can read the [detailed documentation]( for this EC2 test cluster if you want to run and/or hack on it yourself.
Make sure you read the OpenResty C Coding Style Guide document carefully before hacking on the OpenResty or NGINX core.
More Interesting Topics
How we solved a CPU bottleneck caused by Lua exceptions in a custom Kong plugin (using OpenResty XRay)