diff options
author | dpapad@chromium.org <dpapad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-02 17:36:58 +0000 |
---|---|---|
committer | dpapad@chromium.org <dpapad@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-05-02 17:36:58 +0000 |
commit | 61773e585b0d60ba2e0b4c439af5b5b67b05ca7e (patch) | |
tree | e1fd88d99ff8764c0f4b89d8c0a2eddb979de288 /chrome/renderer | |
parent | b164600b6a2999cb60dcaac4797ceb4409cb2a5b (diff) | |
download | chromium_src-61773e585b0d60ba2e0b4c439af5b5b67b05ca7e.zip chromium_src-61773e585b0d60ba2e0b4c439af5b5b67b05ca7e.tar.gz chromium_src-61773e585b0d60ba2e0b4c439af5b5b67b05ca7e.tar.bz2 |
Revert 197933 "Translate: adding new UMAs to know language detec..."
The newly added tests are failing on Linux Clang (dbg).
> Translate: adding new UMAs to know language detection quality
>
> - TranslateContentLanguage:
> Counts Content-Language availability and reliability.
> - TranslateLanguageVerification:
> Counts how CLD think about Content-Language.
>
> BUG=179277
> TEST=unit_tests --gtest_filter='TranslateHelperMetricsTest.*'
>
> Review URL: https://chromiumcodereview.appspot.com/14763002
TBR=toyoshim@chromium.org
Review URL: https://codereview.chromium.org/14854012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197935 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
4 files changed, 3 insertions, 234 deletions
diff --git a/chrome/renderer/translate/translate_helper.cc b/chrome/renderer/translate/translate_helper.cc index 4d81b6e..1664233 100644 --- a/chrome/renderer/translate/translate_helper.cc +++ b/chrome/renderer/translate/translate_helper.cc @@ -13,7 +13,6 @@ #include "base/utf_string_conversions.h" #include "chrome/common/chrome_constants.h" #include "chrome/common/render_messages.h" -#include "chrome/renderer/translate/translate_helper_metrics.h" #include "content/public/renderer/render_view.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" #include "third_party/WebKit/Source/WebKit/chromium/public/WebElement.h" @@ -318,37 +317,21 @@ std::string TranslateHelper::DeterminePageLanguage(const std::string& code, ResetInvalidLanguageCode(&language); VLOG(9) << "Content-Language based language code: " << language; - TranslateHelperMetrics::ReportContentLanguage(code, language); - #if defined(ENABLE_LANGUAGE_DETECTION) // If |language| is empty, just use CLD result even though it might be // chrome::kUnknownLanguageCode. - if (language.empty()) { - TranslateHelperMetrics::ReportLanguageVerification( - TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_ONLY); + if (language.empty()) return cld_language; - } - if (cld_language == chrome::kUnknownLanguageCode) { - TranslateHelperMetrics::ReportLanguageVerification( - TranslateHelperMetrics::LANGUAGE_VERIFICATION_UNKNOWN); - } else if (language.size() >= 2 && - cld_language.find(language.c_str(), 0, 2) != 0) { - TranslateHelperMetrics::ReportLanguageVerification( - TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_DISAGREE); + if (cld_language != chrome::kUnknownLanguageCode && + cld_language.find(language.c_str(), 0, 2) != 0) { // Content-Language value might be wrong because CLD says that this page // is written in another language with confidence. // In this case, Chrome doesn't rely on any of the language codes, and // gives up suggesting a translation. VLOG(9) << "CLD disagreed with the Content-Language value with confidence."; return std::string(chrome::kUnknownLanguageCode); - } else { - TranslateHelperMetrics::ReportLanguageVerification( - TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_AGREE); } -#else // defined(ENABLE_LANGUAGE_DETECTION) - TranslateHelperMetrics::ReportLanguageVerification( - TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_DISABLED); #endif // defined(ENABLE_LANGUAGE_DETECTION) return language; diff --git a/chrome/renderer/translate/translate_helper_metrics.cc b/chrome/renderer/translate/translate_helper_metrics.cc deleted file mode 100644 index 26463fd..0000000 --- a/chrome/renderer/translate/translate_helper_metrics.cc +++ /dev/null @@ -1,41 +0,0 @@ -// Copyright 2013 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/renderer/translate/translate_helper_metrics.h" - -#include "base/metrics/histogram.h" - -namespace { - -const char kTranslateContentLanguage[] = "Translate.ContentLanguage"; -const char kTranslateLanguageVerification[] = "Translate.LanguageVerification"; - -} // namespace - -namespace TranslateHelperMetrics { - -void ReportContentLanguage(const std::string& provided_code, - const std::string& revised_code) { - if (provided_code.empty()) { - UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage, - CONTENT_LANGUAGE_NOT_PROVIDED, - CONTENT_LANGUAGE_MAX); - } else if (provided_code == revised_code) { - UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage, - CONTENT_LANGUAGE_VALID, - CONTENT_LANGUAGE_MAX); - } else { - UMA_HISTOGRAM_ENUMERATION(kTranslateContentLanguage, - CONTENT_LANGUAGE_INVALID, - CONTENT_LANGUAGE_MAX); - } -} - -void ReportLanguageVerification(LanguageVerificationType type) { - UMA_HISTOGRAM_ENUMERATION(kTranslateLanguageVerification, - type, - LANGUAGE_VERIFICATION_MAX); -} - -} // namespace TranslateHelperMetrics diff --git a/chrome/renderer/translate/translate_helper_metrics.h b/chrome/renderer/translate/translate_helper_metrics.h deleted file mode 100644 index 301c482..0000000 --- a/chrome/renderer/translate/translate_helper_metrics.h +++ /dev/null @@ -1,44 +0,0 @@ -// Copyright 2013 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. - -#ifndef CHROME_RENDERER_TRANSLATE_TRANSLATE_HELPER_METRICS_H_ -#define CHROME_RENDERER_TRANSLATE_TRANSLATE_HELPER_METRICS_H_ - -#include <string> - -namespace TranslateHelperMetrics { - -// A page may provide a Content-Language HTTP header or a META tag. -// TranslateHelper checks if a server provides a valid Content-Language. -enum ContentLanguageType { - CONTENT_LANGUAGE_NOT_PROVIDED, - CONTENT_LANGUAGE_VALID, - CONTENT_LANGUAGE_INVALID, - CONTENT_LANGUAGE_MAX, -}; - -// When a valid Content-Language is provided, TranslateHelper checks if a -// server provided Content-Language matches to a language CLD determined. -enum LanguageVerificationType { - LANGUAGE_VERIFICATION_CLD_DISABLED, - LANGUAGE_VERIFICATION_CLD_ONLY, - LANGUAGE_VERIFICATION_UNKNOWN, - LANGUAGE_VERIFICATION_CLD_AGREE, - LANGUAGE_VERIFICATION_CLD_DISAGREE, - LANGUAGE_VERIFICATION_MAX, -}; - -// Called after TranslateHelper verifies a server providing Content-Language -// header. |provided_code| contains a Content-Language header value which -// server provides. It can be empty string when a server doesn't provide it. -// |revised_code| is a value modified by format error corrector. -void ReportContentLanguage(const std::string& provided_code, - const std::string& revised_code); - -// Called when CLD verifies Content-Language header. -void ReportLanguageVerification(LanguageVerificationType type); - -} // namespace TranslateHelperMetrics - -#endif // CHROME_RENDERER_TRANSLATE_TRANSLATE_HELPER_METRICS_H_ diff --git a/chrome/renderer/translate/translate_helper_metrics_unittest.cc b/chrome/renderer/translate/translate_helper_metrics_unittest.cc deleted file mode 100644 index 821095c..0000000 --- a/chrome/renderer/translate/translate_helper_metrics_unittest.cc +++ /dev/null @@ -1,129 +0,0 @@ -// Copyright 2013 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/renderer/translate/translate_helper_metrics.h" - -#include "base/basictypes.h" -#include "base/memory/scoped_ptr.h" -#include "base/metrics/histogram.h" -#include "base/metrics/histogram_samples.h" -#include "base/metrics/statistics_recorder.h" -#include "testing/gtest/include/gtest/gtest.h" -#include "testing/platform_test.h" - -using base::HistogramBase; -using base::HistogramSamples; -using base::StatisticsRecorder; - -namespace { - -const char kTranslateContentLanguage[] = "Translate.ContentLanguage"; -const char kTranslateLanguageVerification[] = "Translate.LanguageVerification"; - -class MetricsRecorder { - public: - explicit MetricsRecorder(const char* key) - : key_(key), - samples_(NULL) { - StatisticsRecorder::Initialize(); - } - - void CheckContentLanguage(int expected_not_provided, - int expected_valid, - int expected_invalid) { - ASSERT_EQ(kTranslateContentLanguage, key_); - - Snapshot(); - - EXPECT_EQ( - expected_not_provided, - GetCount(TranslateHelperMetrics::CONTENT_LANGUAGE_NOT_PROVIDED)); - EXPECT_EQ( - expected_valid, - GetCount(TranslateHelperMetrics::CONTENT_LANGUAGE_VALID)); - EXPECT_EQ( - expected_invalid, - GetCount(TranslateHelperMetrics::CONTENT_LANGUAGE_INVALID)); - } - - void CheckLanguageVerification(int expected_cld_disabled, - int expected_cld_only, - int expected_unknown, - int expected_cld_agree, - int expected_cld_disagree) { - ASSERT_EQ(kTranslateLanguageVerification, key_); - - Snapshot(); - - EXPECT_EQ( - expected_cld_disabled, - GetCount(TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_DISABLED)); - EXPECT_EQ( - expected_cld_only, - GetCount(TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_ONLY)); - EXPECT_EQ( - expected_unknown, - GetCount(TranslateHelperMetrics::LANGUAGE_VERIFICATION_UNKNOWN)); - EXPECT_EQ( - expected_cld_agree, - GetCount(TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_AGREE)); - EXPECT_EQ( - expected_cld_disagree, - GetCount(TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_DISAGREE)); - } - - private: - void Snapshot() { - HistogramBase* histogram = StatisticsRecorder::FindHistogram(key_); - if (!histogram) - return; - samples_ = histogram->SnapshotSamples(); - } - - HistogramBase::Count GetCount(HistogramBase::Sample value) { - if (!samples_.get()) - return 0; - return samples_->GetCount(value); - } - - std::string key_; - scoped_ptr<HistogramSamples> samples_; - - DISALLOW_COPY_AND_ASSIGN(MetricsRecorder); -}; - -} // namespace - -TEST(TranslateHelperMetricsTest, ReportContentLanguage) { - MetricsRecorder recorder(kTranslateContentLanguage); - - recorder.CheckContentLanguage(0, 0, 0); - TranslateHelperMetrics::ReportContentLanguage(std::string(), std::string()); - recorder.CheckContentLanguage(1, 0, 0); - TranslateHelperMetrics::ReportContentLanguage("ja_JP", "ja-JP"); - recorder.CheckContentLanguage(1, 0, 1); - TranslateHelperMetrics::ReportContentLanguage("en", "en"); - recorder.CheckContentLanguage(1, 1, 1); -} - -TEST(TranslateHelperMetricsTest, ReportLanguageVerification) { - MetricsRecorder recorder(kTranslateLanguageVerification); - - recorder.CheckLanguageVerification(0, 0, 0, 0, 0); - TranslateHelperMetrics::ReportLanguageVerification( - TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_DISABLED); - recorder.CheckLanguageVerification(1, 0, 0, 0, 0); - TranslateHelperMetrics::ReportLanguageVerification( - TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_ONLY); - recorder.CheckLanguageVerification(1, 1, 0, 0, 0); - TranslateHelperMetrics::ReportLanguageVerification( - TranslateHelperMetrics::LANGUAGE_VERIFICATION_UNKNOWN); - recorder.CheckLanguageVerification(1, 1, 1, 0, 0); - TranslateHelperMetrics::ReportLanguageVerification( - TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_AGREE); - recorder.CheckLanguageVerification(1, 1, 1, 1, 0); - TranslateHelperMetrics::ReportLanguageVerification( - TranslateHelperMetrics::LANGUAGE_VERIFICATION_CLD_DISAGREE); - recorder.CheckLanguageVerification(1, 1, 1, 1, 1); -} |