blob: 46e485c6cc0fcbb00e1abb7485a0e4899c7ef712 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_ON_DEVICE_TRANSLATION_TRANSLATION_METRICS_H_
#define CHROME_BROWSER_ON_DEVICE_TRANSLATION_TRANSLATION_METRICS_H_
#include <string_view>
#include "chrome/browser/on_device_translation/language_pack_util.h"
namespace on_device_translation {
// Record language code for a certain UMA. If the launuage code is not
// recognized it will be recorded as unknown.
void RecordLanguageUma(std::string_view uma_name,
std::string_view language_code);
// Record language code for a certain UMA.
// The source_lang and target_lang will be converted to the integer value
// of the LanguageCode enumeration and then concatenated to a single integer
// value.
void RecordLanguagePairUma(std::string_view uma_name,
std::string_view source_lang,
std::string_view target_lang);
// The following UMAs will be recorded:
// Translate.OnDeviceTranslation.${api_name}.SourceLanguage
// Translate.OnDeviceTranslation.${api_name}.TargetLanguage
// Translate.OnDeviceTranslation.${api_name}.LanguagePair
void RecordTranslationAPICallForLanguagePair(std::string_view api_name,
std::string_view source_lang,
std::string_view target_lang);
// Record the character count UMA for:
// Translate.OnDeviceTranslation.CharacterCount
// Translate.OnDeviceTranslation.Source.${source_lang}.CharacterCount
// Translate.OnDeviceTranslation.Target.${target_lang}.CharacterCount
void RecordTranslationCharacterCount(std::string_view source_lang,
std::string_view target_lang,
int character_count);
} // namespace on_device_translation
#endif // CHROME_BROWSER_ON_DEVICE_TRANSLATION_TRANSLATION_METRICS_H_