Distributed build and compile statistics

US10303442B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10303442-B2
Application numberUS-201715489630-A
CountryUS
Kind codeB2
Filing dateApr 17, 2017
Priority dateOct 31, 2014
Publication dateMay 28, 2019
Grant dateMay 28, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present technology adds code to a top level build configuration file of a configuration program that will gather metrics for each invocation of a build. These metrics are sent to a commonly accessible metric server for future analysis. The metrics are collected for a distributed engineering team over several machines. Compilation time metrics may then be collected for each compilation event and those metrics are analyzed by a common aggregator.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for processing data regarding a plurality of program builds or compilations from a plurality of distributed computing devices, the method including: receiving, at an aggregator on a server in a computer network, build data and local machine data associated with one or more program builds being executed on the plurality of distributed computing devices, wherein the build data includes time stamp data representing start and end times for completing the build of each program, the build data and local machine data providing context for completing the plurality of program builds across the plurality of distributed computing devices; creating, by the aggregator, aggregated groups of data based on dimensions of the received build data and local machine data associated with the plurality of program builds at the distributed computing devices; determining, by the server, a time for completing at least one build of the plurality of program builds; receiving, from an administrator computing device, a query for a particular slice of the aggregated groups of data; and generating, by the server, a response to the receive query to return the requested particular slice of the aggregated groups of data, the response causing the administrator computing device to display, through an interface, a tree of the dimensions of the received build data and local machine data associated with the plurality of program builds at the distributed computing devices. 2. The method of claim 1 , wherein the creating the aggregated groups of data includes: aggregating data by the dimensions including operating system data, branch data, project data, target data, result of the build data, machine resources data, or workflow data. 3. The method of claim 1 , wherein the displaying, through the interface, includes: displaying multiple data points for the plurality of builds with a set of the dimensions. 4. The method of claim 1 , including: receiving work flow data including one or more instructions performed at the plurality of distributed computing devices before start of the plurality of program builds. 5. The method of claim 1 , wherein receiving the local machine data includes: receiving memory and processor data of the plurality of distributed computing devices completing the plurality of program builds. 6. The method of claim 1 , including: analyzing the received build data and local machine data for the plurality of distributed computing devices completing the plurality of program builds. 7. The method of claim 1 , including: receiving the local machine data and the build data based on a non-periodic event including an anomaly. 8. A system for processing data regarding a plurality of program builds at a plurality of distributed computing devices, the system including: a processor; a memory; and one or more modules stored in the memory and executable by the processor to perform operations including: receive build data and local machine data associated with one or more program builds being executed on the plurality of distributed computing devices, wherein the build data includes time stamp data representing start and end times for completing the build of each program, the build data and local machine data providing context for completing the plurality of program builds across the plurality of distributed computing devices; create aggregated groups of data based on dimensions of the received build data and local machine data associated with the plurality of program builds at the distributed computing devices; determine a time for completing at least one build of the plurality of program builds; receive, from an administrator computing device, a query for a particular slice of the aggregated groups of data; and generate a response to the receive query to return the requested particular slice of the aggregated groups of data, the response causing the administrator computing device to display, through an interface, a tree of the dimensions of the received build data and local machine data associated with the plurality of program builds at the distributed computing devices. 9. The system of claim 8 , wherein the dimensions include operating system data, branch data, project data, target data, result of the build data, machine resources data, or workflow data. 10. The system of claim 8 , wherein the one or more modules are executable to display, through the interface, multiple data points for the plurality of builds with a set of the dimensions. 11. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform operations for collecting data regarding a program build including: receiving build data and local machine data associated with one or more program builds being executed on the plurality of distributed computing devices, wherein the build data includes time stamp data representing start and end times for completing the build of each program, the build data and local machine data providing context for completing the plurality of program builds across the plurality of distributed computing devices; creating aggregated groups of data based on dimensions of the received build data and local machine data associated with the plurality of program builds at the distributed computing devices; determining a time for completing at least one build of the plurality of program builds receiving, from an administrator computing device, a query for a particular slice of the aggregated groups of data; and generating a response to the receive query to return the requested particular slice of the aggregated groups of data, the response causing the administrator computing device to display, through an interface, a tree of the dimensions of the received build data and local machine data associated with the plurality of program builds at the distributed computing devices. 12. The non-transitory computer readable storage medium of claim 11 , wherein the creating the aggregated groups of data includes: aggregating data by the dimensions including operating system data, branch data, project data, target data, result of the build data, machine resources data, or workflow data. 13. The non-transitory computer readable storage medium of claim 11 , wherein the displaying, through the interface, includes: displaying multiple data points for the plurality of builds with a set of the dimensions. 14. The non-transitory computer readable storage medium of claim 11 , including: receiving work flow data including one or more instructions performed at the plurality of distributed computing devices before start of the plurality of program builds. 15. The non-transitory computer readable storage medium of claim 11 , including: receiving the local machine data and the build data based on a non-periodic event including an anomaly.

Assignees

Inventors

Classifications

  • Round-trip engineering · CPC title

  • Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • Electricity · mapped topic

  • G06F8/22Primary

    Procedural · CPC title

  • Program synchronisation; Mutual exclusion, e.g. by means of semaphores · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10303442B2 cover?
The present technology adds code to a top level build configuration file of a configuration program that will gather metrics for each invocation of a build. These metrics are sent to a commonly accessible metric server for future analysis. The metrics are collected for a distributed engineering team over several machines. Compilation time metrics may then be collected for each compilation event…
Who is the assignee on this patent?
Appdynamics Llc, Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/22. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 28 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).