diff options
author | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-13 20:29:58 +0000 |
---|---|---|
committer | jar@chromium.org <jar@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-13 20:29:58 +0000 |
commit | 17e7b20bdf6906f4bdd574a9e0d4526456f3c301 (patch) | |
tree | a227f6d81a2929759313242e183bcc14ff89fd28 /base | |
parent | 7e8488b8c4ee4c0d29ba266d9b405d68b9fbdb2e (diff) | |
download | chromium_src-17e7b20bdf6906f4bdd574a9e0d4526456f3c301.zip chromium_src-17e7b20bdf6906f4bdd574a9e0d4526456f3c301.tar.gz chromium_src-17e7b20bdf6906f4bdd574a9e0d4526456f3c301.tar.bz2 |
wtc: please look at URL related code, and hooks and nits
you might have commented on before.
huanr: please look at sdch_filter code. The intent was
no semantic change, and only change in histograms and
stats gathered. I wanted to be sure I had better stats
on several failure cases, as the turn-around time of
adding stats to instrument such cases after they surface
is just too long.
The big feature is the mechanism for getting the total
number of bytes passed to a filter. We use the filter
context to achieve this, and then the SDCH filter can
calculate compression ratio (from pre-gunzip vs post
SDCH decompress).
The number of bytes read was also histogrammed in a number
of error scenarios, to better diagnose what is going on
when these cases arrise (example: When some data is still
buffered in the VCDIFF decoder).
The sdch_filter destructor was getting long and hard
to read with multiple if blocks, so I cleaned that up
as well a bit (less indentation, and use of early returns).
Nits not included in previous CL that earlier are listed
as well.
r=wtc,huanr
Review URL: http://codereview.chromium.org/40319
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11665 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r-- | base/histogram.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/base/histogram.h b/base/histogram.h index f66c9b4..7ec556f 100644 --- a/base/histogram.h +++ b/base/histogram.h @@ -59,6 +59,11 @@ counter.Add(sample); \ } while (0) +#define HISTOGRAM_PERCENTAGE(name, under_one_hundred) do { \ + static LinearHistogram counter((name), 1, 100, 101); \ + counter.Add(under_one_hundred); \ + } while (0) + // For folks that need real specific times, use this, but you'll only get // samples that are in the range (overly large samples are discarded). #define HISTOGRAM_CLIPPED_TIMES(name, sample, min, max, bucket_count) do { \ @@ -97,6 +102,8 @@ #define DHISTOGRAM_COUNTS(name, sample) HISTOGRAM_COUNTS(name, sample) #define DASSET_HISTOGRAM_COUNTS(name, sample) ASSET_HISTOGRAM_COUNTS(name, \ sample) +#define DHISTOGRAM_PERCENTAGE(name, under_one_hundred) HISTOGRAM_PERCENTAGE(\ + name, under_one_hundred) #define DHISTOGRAM_CLIPPED_TIMES(name, sample, min, max, bucket_count) \ HISTOGRAM_CLIPPED_TIMES(name, sample, min, max, bucket_count) @@ -105,6 +112,7 @@ #define DHISTOGRAM_TIMES(name, sample) do {} while (0) #define DHISTOGRAM_COUNTS(name, sample) do {} while (0) #define DASSET_HISTOGRAM_COUNTS(name, sample) do {} while (0) +#define DHISTOGRAM_PERCENTAGE(name, under_one_hundred) do {} while (0) #define DHISTOGRAM_CLIPPED_TIMES(name, sample, min, max, bucket_count) \ do {} while (0) @@ -175,6 +183,12 @@ static const int kRendererHistogramFlag = 1 << 4; counter.Add(sample); \ } while (0) +#define UMA_HISTOGRAM_PERCENTAGE(name, under_one_hundred) do { \ + static LinearHistogram counter((name), 1, 100, 101); \ + counter.SetFlags(kUmaTargetedHistogramFlag); \ + counter.Add(under_one_hundred); \ + } while (0) + //------------------------------------------------------------------------------ class Histogram : public StatsRate { |