Advertisement
Guest User

zuul patch

a guest
Jan 24th, 2019
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.10 KB | None | 0 0
  1. diff --git a/zuul/merger/server.py b/zuul/merger/server.py
  2. index b1921d97..a33a244a 100644
  3. --- a/zuul/merger/server.py
  4. +++ b/zuul/merger/server.py
  5. @@ -12,15 +12,19 @@
  6.  # License for the specific language governing permissions and limitations
  7.  # under the License.
  8.  
  9. +import extras
  10.  import json
  11.  import logging
  12.  import threading
  13. +import time
  14.  import traceback
  15.  
  16.  import gear
  17.  
  18.  from zuul.merger import merger
  19.  
  20. +statsd = extras.try_import('statsd.statsd')
  21. +
  22.  
  23.  class MergeServer(object):
  24.      log = logging.getLogger("zuul.MergeServer")
  25. @@ -100,14 +104,23 @@ class MergeServer(object):
  26.                  self.log.exception("Exception while getting job")
  27.  
  28.      def merge(self, job):
  29. +        start_time = time.time()
  30.          args = json.loads(job.arguments)
  31.          commit = self.merger.mergeChanges(args['items'])
  32.          result = dict(merged=(commit is not None),
  33.                        commit=commit,
  34.                        zuul_url=self.zuul_url)
  35.          job.sendWorkComplete(json.dumps(result))
  36. +        finish_time = time.time()
  37. +        if statsd:
  38. +            runtime = int((finish_time - start_time) * 1000)
  39. +            # merge change is for last project in list
  40. +            project = args['items'][-1]['project'].replace('/', '.')
  41. +            key = 'zuul.merger.merge.%s' % project
  42. +            statsd.timing(key + '.resident_time', runtime)
  43.  
  44.      def update(self, job):
  45. +        start_time = time.time()
  46.          args = json.loads(job.arguments)
  47.          self.merger.updateRepo(args['project'],
  48.                                 args['connection_name'],
  49. @@ -115,3 +128,10 @@ class MergeServer(object):
  50.          result = dict(updated=True,
  51.                        zuul_url=self.zuul_url)
  52.          job.sendWorkComplete(json.dumps(result))
  53. +        finish_time = time.time()
  54. +        if statsd:
  55. +            runtime = int((finish_time - start_time) * 1000)
  56. +            # merge change is for last project in list
  57. +            project = args['project'].replace('/', '.')
  58. +            key = 'zuul.merger.update.%s' % project
  59. +            statsd.timing(key + '.resident_time', runtime)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement