commit | 92b92845a40634c762797ff6f5f11b93c285a3c2 | [log] [tgz] |
---|---|---|
author | Jared Weinstein <jaredweinstein@google.com> | Tue Nov 24 00:40:57 2020 +0000 |
committer | CQ Bot <commit-bot@chromium.org> | Tue Nov 24 00:40:57 2020 +0000 |
tree | f46ed65dad6c5159276d7fb014182ed044c8e051 | |
parent | a4cac1410c194b2d012319e3bd88cd1acaa7df38 [diff] |
Add jitter to Cobalt Config The cobalt_app will pass in a jitter value between 0 and 1 representing the amount of randomized offset added to the scheeduled interval. For example, when jitter=.1 the initial interval (1 minute) will be increased or decreased by a random value between 0 and 6 seconds. When the current interval is close to the target (1 hour), the interval will be increased or decreased by a random value between 0 and 6 minutes. If jitter=0 the shipping_manager has no change in behavior. On average uploads take place on the same schedule. But this will help mitigate concurrent uploads and prevent leaking information about device reboot time. Change-Id: Id01755fb91c447484dd9b5d6f515eba4ba6b535c Reviewed-on: https://fuchsia-review.googlesource.com/c/cobalt/+/453703 Reviewed-by: Zach Bush <zmbush@google.com> Commit-Queue: Jared Weinstein <jaredweinstein@google.com>
Cobalt is a pipeline for collecting metrics data from user-owned devices in the field and producing aggregated reports.
Cobalt includes a suite of features for preserving user privacy and anonymity while giving product owners the data they need to improve their products.
The code in the Git repo at https://fuchsia.googlesource.com/cobalt is known as Cobalt Core. It contains:
In order to have a working Cobalt system you need to also have
//third_party/cobalt
.This document describes how to develop, build and test Cobalt Core independently of Fuchsia.
For example via
git clone https://fuchsia.googlesource.com/cobalt
cd cobalt
./cobaltb.py setup
This will take a few minutes the first time. It does the following:
third_party
dir via Git submodules.sysroot
dir. This uses CIPD.The Python script cobaltb.py
in the root directory is used to orchestrate building and testing Cobalt. It was already used above in ./cobaltb.py setup
.
./cobaltb.py -h
for general helpcobaltb.py <command> -h
for help on a command./cobaltb.py build
The Cobalt build uses GN and ninja.
./cobaltb.py test
./cobaltb.py fmt
./cobaltb.py lint
See: clang-tidy for an explanation of clang-tidy configuration options.
Cobalt uses the Gerrit code review tool. Although Cobalt Core is independent of Fuchsia, we do share infrastructure with Fucshia and so much of the instructions from Fuchsia's Contributing Guide apply to Cobalt Core. The main difference is that Cobalt Core does not use Jiri--it uses Git submodules instead.
Follow the instructions here.
To create a change in Gerrit do the following:
cd ~/cobalt
git checkout -b <branch_name>
git add <files>
git commit
git push origin HEAD:refs/for/master
See the Gerrit documentation for more information.
After creating a change, to upload a patch to your change, do the following:
git add <files>
--amend
option: git commit --amend
git push origin HEAD:refs/for/master