New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 729176 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 730262



Sign in to add a comment

ts_mon: allow for geometric bucketers that don't start with (0,1)

Project Member Reported by akes...@chromium.org, Jun 2 2017

Issue description

This will allow for, for example, SecondsTimer metrics with sub-second resolution.

I'm working on this in the chromite fork. We can upstream afterward.
 
Labels: -Pri-3 Pri-2
Project Member

Comment 2 by bugdroid1@chromium.org, Jun 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/ced72dc28a03b3b5ec9971cf24f9d6ef7574d02e

commit ced72dc28a03b3b5ec9971cf24f9d6ef7574d02e
Author: Aviv Keshet <akeshet@chromium.org>
Date: Sun Jun 04 09:30:05 2017

ts_mon: allow for geometric bucketers that don't start with (0, 1)

With the current implementation, it is not possible to have a geometric
bucketer for which the first (non underflow) bucket is not (0, 1).

In some cases, that is quite inconvenient (for example, measuring a time
that is denoted in seconds, but of an event that will frequently take
less than 1 second).

BUG= chromium:729176 
TEST=testing in an interactive python shell that bucket boundaries with
scale factor are as expected; unit tests not added because the ts_mon
unittests do not run in the chromeos CQ, and were not straightforward to
run from desktop

Change-Id: I10c255551f5a83508788df0400cddc2fffadd411
Reviewed-on: https://chromium-review.googlesource.com/513612
Commit-Ready: Aviv Keshet <akeshet@chromium.org>
Tested-by: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org>

[modify] https://crrev.com/ced72dc28a03b3b5ec9971cf24f9d6ef7574d02e/third_party/infra_libs/ts_mon/common/distribution.py

Project Member

Comment 3 by bugdroid1@chromium.org, Jun 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/21419ddfdb118aaac7d958db9c4799ce12cd6487

commit 21419ddfdb118aaac7d958db9c4799ce12cd6487
Author: Aviv Keshet <akeshet@chromium.org>
Date: Sun Jun 04 12:45:12 2017

metrics: add |scale| argument to SecondsDistribution, SecondsTimer

BUG= chromium:729176 
TEST=None

Change-Id: I6789235a8f9fa10f4d750ab611a4cf2aaf12f9d1
Reviewed-on: https://chromium-review.googlesource.com/522623
Commit-Ready: Aviv Keshet <akeshet@chromium.org>
Tested-by: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: Aviv Keshet <akeshet@chromium.org>

[modify] https://crrev.com/21419ddfdb118aaac7d958db9c4799ce12cd6487/lib/metrics.py

Project Member

Comment 4 by bugdroid1@chromium.org, Jun 7 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/e4d7c908f5c76abc8a46c7ea2657ec1f860f73a3

commit e4d7c908f5c76abc8a46c7ea2657ec1f860f73a3
Author: Aviv Keshet <akeshet@chromium.org>
Date: Wed Jun 07 19:05:58 2017

ts_mon: allow for geometric bucketers that don't start with (0, 1)

With the current implementation, it is not possible to have a geometric
bucketer for which the first (non underflow) bucket is not (0, 1).

In some cases, that is quite inconvenient (for example, measuring a time
that is denoted in seconds, but of an event that will frequently take
less than 1 second).

BUG= chromium:729176 
TEST=In progress

Change-Id: Idf8359d84627e27daa3a52d000e990dd0f9c10d7
Reviewed-on: https://chromium-review.googlesource.com/523447
Commit-Queue: Aviv Keshet <akeshet@chromium.org>
Reviewed-by: Sergey Berezin <sergeyberezin@chromium.org>
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>

[modify] https://crrev.com/e4d7c908f5c76abc8a46c7ea2657ec1f860f73a3/packages/infra_libs/infra_libs/ts_mon/common/metrics.py
[modify] https://crrev.com/e4d7c908f5c76abc8a46c7ea2657ec1f860f73a3/packages/infra_libs/infra_libs/ts_mon/common/distribution.py
[modify] https://crrev.com/e4d7c908f5c76abc8a46c7ea2657ec1f860f73a3/packages/infra_libs/infra_libs/ts_mon/common/test/metrics_test.py
[modify] https://crrev.com/e4d7c908f5c76abc8a46c7ea2657ec1f860f73a3/packages/infra_libs/infra_libs/ts_mon/common/test/distribution_test.py

Mergedinto: 730262
Status: Duplicate (was: Started)
Status: Fixed (was: Duplicate)

Comment 7 by ihf@chromium.org, Jun 8 2017

Cc: pwang@chromium.org ihf@chromium.org
Is this available now to all tests?
Not yet, pending on issue 730262 for a related fix. Should land in the next day or two.
Blockedon: 730262
Status: Available (was: Fixed)
Reopening. This requires either a roll onto upstream https://chromium-review.googlesource.com/c/527937/ or a proto update in our fork https://chromium-review.googlesource.com/c/526853/

Unfortunately, both are blocked.

Probably the roll to upstream is the best way forward.
Another slightly gross option: cherry pick #4 back to just prior to the API break, and roll our ts_mon to that.

That would look something like this: (needs a fix) https://chromium-review.googlesource.com/c/527883/
Labels: Hotlist-Fixit
Owner: pho...@chromium.org
Cc: akes...@chromium.org
Project Member

Comment 13 by bugdroid1@chromium.org, Jun 8 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/infra/puppet/+/10f8637e68e7474ccdc41e3d117697b515a21b28

commit 10f8637e68e7474ccdc41e3d117697b515a21b28
Author: Katie Thomas <katthomas@google.com>
Date: Thu Jun 08 17:54:46 2017

Status: Fixed (was: Available)

Sign in to add a comment