#include "chrome/browser/optimization_guide/chrome_model_quality_logs_uploader_service.h"
#include "base/metrics/histogram_functions.h"
#include "base/metrics/histogram_macros.h"
#include "base/metrics/persistent_histogram_allocator.h"
#include "chrome/browser/browser_process.h"
#include "chrome/common/channel_info.h"
#include "chrome_model_quality_logs_uploader_service.h"
#include "components/metrics/metrics_log.h"
#include "components/metrics/persistent_system_profile.h"
#include "components/metrics/version_utils.h"
#include "components/metrics_services_manager/metrics_services_manager.h"
#include "components/optimization_guide/core/feature_registry/mqls_feature_registry.h"
#include "components/optimization_guide/core/model_execution/feature_keys.h"
#include "components/optimization_guide/core/model_execution/model_execution_features_controller.h"
#include "components/optimization_guide/core/optimization_guide_enums.h"
#include "components/optimization_guide/core/optimization_guide_features.h"
#include "components/optimization_guide/core/optimization_guide_util.h"
#include "components/optimization_guide/proto/model_execution.pb.h"
#include "components/prefs/pref_service.h"
#include "components/variations/service/variations_service.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
#include "services/network/public/cpp/simple_url_loader.h"
namespace optimization_guide {
namespace {
void RecordUploadStatusHistogram(const MqlsFeatureMetadata* metadata,
ModelQualityLogsUploadStatus status) { … }
bool PopulatePersistentSystemProfile(
metrics::SystemProfileProto* system_profile) { … }
}
ChromeModelQualityLogsUploaderService::ChromeModelQualityLogsUploaderService(
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
PrefService* pref_service,
base::WeakPtr<ModelExecutionFeaturesController>
model_execution_feature_controller)
: … { … }
ChromeModelQualityLogsUploaderService::
~ChromeModelQualityLogsUploaderService() = default;
bool ChromeModelQualityLogsUploaderService::CanUploadLogs(
const MqlsFeatureMetadata* metadata) { … }
void ChromeModelQualityLogsUploaderService::SetSystemMetadata(
proto::LoggingMetadata* logging_metadata) { … }
}