Chromium Code Reviews| Index: chrome/browser/prerender/prerender_origin.cc |
| diff --git a/chrome/browser/prerender/prerender_origin.cc b/chrome/browser/prerender/prerender_origin.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..eb17aa2e714024968750ad5f104beb464fbed873 |
| --- /dev/null |
| +++ b/chrome/browser/prerender/prerender_origin.cc |
| @@ -0,0 +1,43 @@ |
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/prerender/prerender_origin.h" |
| + |
| +#include "base/metrics/histogram.h" |
| +#include "chrome/browser/prerender/prerender_manager.h" |
| + |
| +namespace prerender { |
| + |
| +namespace { |
| + |
| +const char* kOriginNames[] = { |
| + "Link Rel Prerender", |
| + "Pending Link Rel Prerender", |
| + "Omnibox", |
| + "Max" |
| +}; |
| +COMPILE_ASSERT(arraysize(kOriginNames) == ORIGIN_MAX + 1, |
| + PrerenderOrigin_name_count_mismatch); |
| + |
| +} |
| + |
| +void RecordOrigin(Origin origin) { |
|
cbentzel
2011/06/22 17:27:32
Why do we need to record this? We have all the dat
dominich
2011/06/22 19:00:51
It is calculable from FinalStatus but this is a qu
cbentzel
2011/06/22 19:08:40
It's pretty easy to calculate from FinalStauts. I'
|
| + CHECK(origin < ORIGIN_MAX); |
| + // FINAL_STATUS_CONTROL_GROUP indicates that the PrerenderContents |
| + // was created only to measure "would-have-been-prerendered" for |
| + // control group measurements. Don't pollute data with it. |
| + if (PrerenderManager::IsControlGroup()) |
| + return; |
| + UMA_HISTOGRAM_ENUMERATION("Prerender.Origin", |
| + origin, |
| + ORIGIN_MAX); |
| +} |
| + |
| +const char* NameFromOrigin(Origin origin) { |
|
cbentzel
2011/06/22 17:27:32
Is this being used?
dominich
2011/06/22 19:00:51
Not currently, but I was going to add the info to
cbentzel
2011/06/22 19:08:40
OK, I'm fine with it if there is a plan for it's u
|
| + DCHECK(static_cast<int>(origin) >= 0 && |
| + origin <= ORIGIN_MAX); |
| + return kOriginNames[origin]; |
| +} |
| + |
| +} // namespace prerender |