IP Library Granted Patent US 10,303,442
Granted Patent B2
US 10,303,442 · App. 15/489,630 · Granted May 28, 2019

Distributed build and compile statistics

Inventor: Andrew Patrick Buteau (Sunnyvale, CA)
Assignee: Cisco Technology, Inc.
G06F8/22G06F8/312G06F8/355G06F8/4452G06F8/71G06F9/52H04L67/02H04L67/2833
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,303,442
App. No.
15/489,630
Granted
May 28, 2019
Kind
B2
Abstract

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.

Claims (43)

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.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2017
From: APPDYNAMICS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 044173/0050 →
CHANGE OF NAME Recorded Jun 23, 2017
From: APPDYNAMICS, INC.
To: APPDYNAMICS LLC
Reel/Frame 042964/0229 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2017
From: BUTEAU, ANDREW PATRICK
To: APPDYNAMICS, INC.
Reel/Frame 042249/0970 →
Continuity (2)
Continuation 14530440 · Oct 31, 2014
Related Publication 20170220325A1 · Aug 3, 2017