Understanding Develocity Construct Knowledge with Honeycomb | by Pinterest Engineering | Pinterest Engineering Weblog | Jul, 2024

Pinterest Engineering
Pinterest Engineering Blog

David Chang; Workers Software program Engineer |

Develocity, previously generally known as Gradle Enterprise, is a strong software that quickens native and CI construct time, helps troubleshoot your builds, and analyzes your knowledge. At Pinterest, we’ve a devoted crew, Cellular Builds, and we be certain that builders can construct quick and sometimes. This allows builders to be extra productive by getting sooner suggestions on their code. We’ve been utilizing the Develocity API to ship knowledge to Honeycomb for a few 12 months. Honeycomb helps engineering groups deeply perceive their very own manufacturing techniques by observability. If you happen to’re already a Develocity buyer, you is perhaps questioning why you would possibly wish to construct further tooling to collect extra knowledge round your builds. On this weblog publish, we’ll cowl three causes you would possibly wish to ship your Develocity builds to a different supplier for extra processing, and we’ll talk about the excessive stage concepts on how one can obtain that.

Get Deeper Insights Into the Construct Knowledge

It has supplied us with much more perception than what is on the market in Develocity’s dashboards. Honeycomb’s question language is extra strong and permits us to create extra complicated queries than is feasible in Develocity.

Some examples embrace:

  1. We’re capable of group construct occasions primarily based on the consumer as a way to discover outliers.

2. We are able to examine construct knowledge between totally different machine varieties, permitting us to determine builders who’re on Intel Macs and work with their supervisor to get them the ARM-based Macs.

3. We’re capable of determine customers who usually are not utilizing the blessed JDK that’s being excluded from our safety software program.

Determine Points Quicker with BubbleUp

BubbleUp is a Honeycomb function that permits us to simply examine the variations between two teams of builds. We’ve got used it previously to determine slower builds for folk who had all their extra Android build variants and plugins enabled. We often allow these mechanically for CI to have the ability to construct the discharge, and these incur an additional price on the configuration and execution time for our builds.

Honeycomb is Quick

The instance beneath reveals a 30 day question for the Develocity Efficiency tab and a equally configured dashboard for Honeycomb.

Most often, our Honeycomb queries end in lower than one second, which permits us to remain within the stream.

Develocity

Honeycomb

Excessive Degree Implementation

Develocity affords an API to have the ability to entry the info in your Develocity occasion. At Pinterest, we’ve a CI job that runs each 5 minutes and queries two APIs /api/builds and /api/builds/{id}. We retailer a (/api/builds) to have the ability to use it within the /api/builds name. The primary API name (/api/builds) offers us an inventory of the construct scans together with some metadata, and /api/builds/{id} offers us extra wealthy knowledge for a person construct scan.

We then do some gentle processing of that knowledge, and ship it to Honeycomb utilizing libhoney.

Since Develocity is the supply of fact, it’s probably that the info in Honeycomb won’t be as full, however it affords a adequate perception into our builds and we expect it’s a good sufficient commerce off.

Conclusion

Integrating Develocity construct knowledge with Honeycomb has confirmed to be a helpful step for our crew at Pinterest. By leveraging Honeycomb’s strong querying capabilities and quick processing, we’ve been capable of acquire deeper, extra actionable insights into our builds, and determine and resolve inefficiencies. Whereas Develocity supplies a strong basis, the extra layer of research enabled by Honeycomb permits us to reinforce our improvement processes much more. We encourage different Develocity customers to contemplate this method to maximise the potential of their construct knowledge.

To study extra about engineering at Pinterest, try the remainder of our Engineering Weblog and go to our Pinterest Labs web site. To discover and apply to open roles, go to our Careers web page.