metrics: Fix countdown to metrics collection.

We were printing the notice when the decorator was called, so that if
several functions are decorated, the countdown will increase more than once
during each execution.

This change fixes that.

Bug: 832386
Change-Id: I5d6dd2d793137e1e2c83b6cc765b6245080b9d91
Reviewed-on: https://chromium-review.googlesource.com/1141073
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
2 files changed
tree: 2a8f5f5b42aebd22e0a95c138b8ca6b05df7e04a
  1. bootstrap/
  2. fetch_configs/
  3. git-templates/
  4. infra/
  5. man/
  6. recipes/
  7. support/
  8. testing_support/
  9. tests/
  10. third_party/
  11. win_toolchain/
  12. zsh-goodies/
  13. .gitattributes
  14. .gitignore
  15. .style.yapf
  16. annotated_gclient.py
  17. appengine_mapper.py
  18. auth.py
  19. autoninja
  20. autoninja.bat
  21. autoninja.py
  22. breakpad.py
  23. buildbucket.py
  24. checkout.py
  25. cipd
  26. cipd.bat
  27. cipd.ps1
  28. cipd_bin_setup.bat
  29. cipd_bin_setup.sh
  30. cipd_client_version
  31. cipd_manifest.txt
  32. cit
  33. cit.bat
  34. cit.py
  35. clang-format
  36. clang-format.bat
  37. clang_format.py
  38. clang_format_merge_driver
  39. clang_format_merge_driver.bat
  40. clang_format_merge_driver.py
  41. codereview.settings
  42. compile_single_file
  43. compile_single_file.bat
  44. compile_single_file.py
  45. cpplint.bat
  46. cpplint.py
  47. cpplint_chromium.py
  48. dart_format.py
  49. depot-tools-auth
  50. depot-tools-auth.bat
  51. depot-tools-auth.py
  52. detect_host_arch.py
  53. download_from_google_storage
  54. download_from_google_storage.bat
  55. download_from_google_storage.py
  56. ensure_bootstrap
  57. fetch
  58. fetch.bat
  59. fetch.py
  60. fix_encoding.py
  61. gclient
  62. gclient-new-workdir.py
  63. gclient.bat
  64. gclient.py
  65. gclient_completion.sh
  66. gclient_eval.py
  67. gclient_scm.py
  68. gclient_utils.py
  69. gerrit_client.py
  70. gerrit_util.py
  71. git-cache
  72. git-cl
  73. git-crrev-parse
  74. git-crsync
  75. git-drover
  76. git-find-releases
  77. git-footers
  78. git-freeze
  79. git-gs
  80. git-hyper-blame
  81. git-map
  82. git-map-branches
  83. git-mark-merge-base
  84. git-nav-downstream
  85. git-nav-upstream
  86. git-new-branch
  87. git-number
  88. git-rebase-update
  89. git-rename-branch
  90. git-reparent-branch
  91. git-retry
  92. git-runhooks
  93. git-squash-branch
  94. git-thaw
  95. git-upstream-diff
  96. git_cache.py
  97. git_cl.py
  98. git_cl_completion.sh
  99. git_common.py
  100. git_dates.py
  101. git_drover.py
  102. git_find_releases.py
  103. git_footers.py
  104. git_freezer.py
  105. git_hyper_blame.py
  106. git_map.py
  107. git_map_branches.py
  108. git_mark_merge_base.py
  109. git_nav_downstream.py
  110. git_new_branch.py
  111. git_number.py
  112. git_rebase_update.py
  113. git_rename_branch.py
  114. git_reparent_branch.py
  115. git_retry.py
  116. git_squash_branch.py
  117. git_upstream_diff.py
  118. gn
  119. gn.bat
  120. gn.py
  121. gsutil.py
  122. gsutil.vpython
  123. led
  124. led.bat
  125. LICENSE
  126. luci-auth
  127. luci-auth.bat
  128. mac_toolchain
  129. metrics.py
  130. metrics.README.md
  131. metrics_utils.py
  132. my_activity.py
  133. my_reviews.py
  134. ninja
  135. ninja-linux32
  136. ninja-linux64
  137. ninja-mac
  138. ninja.exe
  139. OWNERS
  140. owners.py
  141. owners_finder.py
  142. patch.py
  143. post_build_ninja_summary.py
  144. PRESUBMIT.py
  145. presubmit_canned_checks.py
  146. presubmit_support.py
  147. profile.xml
  148. prpc
  149. prpc.bat
  150. pylint
  151. pylint.py
  152. pylintrc
  153. python_runner.sh
  154. README.gclient.md
  155. README.git-cl.md
  156. README.md
  157. README.testing
  158. repo
  159. rietveld.py
  160. roll-dep
  161. roll-dep-svn
  162. roll-dep-svn.bat
  163. roll-dep.bat
  164. roll_dep.py
  165. roll_dep_svn.py
  166. scm.py
  167. setup_color.py
  168. split_cl.py
  169. subcommand.py
  170. subprocess2.py
  171. update_depot_tools
  172. update_depot_tools.bat
  173. update_depot_tools_toggle.py
  174. upload_metrics.py
  175. upload_to_google_storage.py
  176. vpython
  177. vpython.bat
  178. WATCHLISTS
  179. watchlists.py
  180. weekly
  181. wtf
  182. yapf
  183. yapf.bat
README.md

depot_tools

Tools for working with Chromium development. It requires python 2.7.

Tools

The most important tools are:

  • fetch: A gclient wrapper to checkout a project. Use fetch --help for more details.
  • gclient: A meta-checkout tool. Think repo or git submodules, except that it support OS-specific rules, e.g. do not checkout Windows only dependencies when checking out for Android. Use gclient help for more details and README.gclient.md.
  • git cl: A code review tool to interact with Rietveld or Gerrit. Use git cl help for more details and README.git-cl.md.
  • roll-dep: A gclient dependency management tool to submit a dep roll, updating a dependency to a newer revision.

There are a lot of git utilities included.

Updating

depot_tools updates itself automatically when running gclient tool. To disable auto update, set the environment variable DEPOT_TOOLS_UPDATE=0.

To update package manually, run update_depot_tools.bat on Windows, or ./update_depot_tools on Linux or Mac.

On Windows only, running gclient will install git and python.

Contributing

To contribute change for review:

git new-branch <somename>
# Hack
git add .
git commit -a -m "Fixes goat teleporting"
# find reviewers
git cl owners
git log -- <yourfiles>

# Request a review.
git cl upload -r reviewer1@chromium.org,reviewer2@chromium.org --send-mail

# Edit change description if needed.
git cl desc

# If change is approved, flag it to be committed.
git cl set-commit

# If change needs more work.
git rebase-update
...
git cl upload -t "Fixes goat teleporter destination to be Australia"

See also open bugs, open reviews, forum or report problems.

cpplint.py

To update cpplint.py, please submit the change upstream first at https://github.com/google/styleguide/tree/gh-pages/cpplint then copy it down.