Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(793)

Unified Diff: slave/skia_slave_scripts/check_compile_times.py

Issue 648353002: Remove Skia's forked buildbot code (Closed) Base URL: https://skia.googlesource.com/buildbot.git@master
Patch Set: Address comment Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: slave/skia_slave_scripts/check_compile_times.py
diff --git a/slave/skia_slave_scripts/check_compile_times.py b/slave/skia_slave_scripts/check_compile_times.py
deleted file mode 100644
index 2cb0a84609953d8596f2701eebf63ca96d31efb1..0000000000000000000000000000000000000000
--- a/slave/skia_slave_scripts/check_compile_times.py
+++ /dev/null
@@ -1,106 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2013 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-
-""" Verify that the most recent compile builds are under an appropriate
-threshold. """
-
-
-from build_step import BuildStep, BuildStepFailure
-from builder_name_schema import BUILDER_ROLE_BUILD
-import config_private
-import json
-import sys
-import urllib2
-
-
-BUILD_MASTER_URL = 'http://%s:%s' % (
- config_private.Master.Skia.master_host,
- config_private.Master.Skia.master_port_alt)
-COMPILE_TIME_LIMIT = 10000 # TODO(borenet): Make this something reasonable!
-
-
-def IsBuildFinished(build_info):
- """ Determine whether the given build is finished, based on its start and end
- times. Returns True iff the start and end times are not None and are not zero.
- """
- return build_info['times'][0] and build_info['times'][1]
-
-
-def GetBuildInfo(builder_name, build_num):
- """ Returns a dictionary containing information about a given build.
-
- builder_name: string; the name of the desired builder.
- build_num: string; the number of the desired build.
- """
- url = '%s/json/builders/%s/builds/%s' % (BUILD_MASTER_URL,
- builder_name,
- build_num)
- return json.load(urllib2.urlopen(url))
-
-
-def GetLastFinishedBuildInfo(builder_name, cached_builds):
- """ Returns a dictionary containing information about the last finished build
- for the given builder.
-
- builder_name: string; the name of the desired builder.
- cached_builds: list of strings; candidate build numbers.
- """
- cached_builds.sort(reverse=True)
- for build_num in cached_builds:
- build_info = GetBuildInfo(builder_name, build_num)
- if IsBuildFinished(build_info):
- return build_info
- return None
-
-
-class CheckCompileTimes(BuildStep):
- def _Run(self):
- # Obtain the list of Compile builders from the master.
- builders = json.load(urllib2.urlopen(BUILD_MASTER_URL + '/json/builders'))
-
- # Figure out which ones are too slow.
- too_slow = []
- no_builds = []
- longest_build = None
- for builder_name in builders.keys():
- if builder_name.startswith(BUILDER_ROLE_BUILD):
- cached_builds = sorted(builders[builder_name]['cachedBuilds'])
- if cached_builds:
- build_info = GetLastFinishedBuildInfo(builder_name, cached_builds)
- if build_info:
- duration = build_info['times'][1] - build_info['times'][0]
- summarized_build_info = {'builder': builder_name,
- 'number': build_info['number'],
- 'duration': duration}
- if duration > COMPILE_TIME_LIMIT:
- too_slow.append(summarized_build_info)
- if not longest_build or duration > longest_build['duration']:
- longest_build = summarized_build_info
- else:
- no_builds.append(builder_name)
- if longest_build:
- print 'Longest build: %(builder)s #%(number)s: %(duration)ds' % \
- longest_build
- print '%s/builders/%s/builds/%s' % (BUILD_MASTER_URL,
- longest_build['builder'],
- longest_build['number'])
- print
- if no_builds:
- print 'Warning: No builds found for the following builders:'
- for builder in no_builds:
- print ' %s' % builder
- print
- if too_slow:
- print 'The following builds exceeded the time limit of %ds:' % \
- COMPILE_TIME_LIMIT
- for summarized_build_info in too_slow:
- print ' %(builder)s #%(number)s: %(duration)ds' % summarized_build_info
- raise BuildStepFailure('Builds exceeded time limit.')
-
-
-
-if '__main__' == __name__:
- sys.exit(BuildStep.RunBuildStep(CheckCompileTimes))

Powered by Google App Engine
This is Rietveld 408576698