blob: 944164b4aada169c4641b557249c15de08dc3c2c [file] [log] [blame]
// Copyright 2017 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 COMPONENTS_ASSIST_RANKER_PREDICTOR_CONFIG_H_
#define COMPONENTS_ASSIST_RANKER_PREDICTOR_CONFIG_H_
#include <string>
#include "base/containers/flat_set.h"
#include "base/metrics/field_trial_params.h"
namespace assist_ranker {
// TODO(chrome-ranker-team): Implement other logging types.
enum LogType {
LOG_NONE = 0,
LOG_UKM = 1,
};
// Empty feature whitelist used for testing.
const base::flat_set<std::string>* GetEmptyWhitelist();
// This struct holds the config options for logging, loading and field trial
// for a predictor.
struct PredictorConfig {
PredictorConfig(const char* model_name,
const char* logging_name,
const char* uma_prefix,
const LogType log_type,
const base::flat_set<std::string>* feature_whitelist,
const base::Feature* field_trial,
const base::FeatureParam<std::string>* field_trial_url_param,
float field_trial_threshold_replacement_param)
: model_name(model_name),
logging_name(logging_name),
uma_prefix(uma_prefix),
log_type(log_type),
feature_whitelist(feature_whitelist),
field_trial(field_trial),
field_trial_url_param(field_trial_url_param),
field_trial_threshold_replacement_param(
field_trial_threshold_replacement_param) {}
const char* const model_name;
const char* const logging_name;
const char* const uma_prefix;
const LogType log_type;
const base::flat_set<std::string>* feature_whitelist;
const base::Feature* field_trial;
const base::FeatureParam<std::string>* field_trial_url_param;
const float field_trial_threshold_replacement_param;
};
} // namespace assist_ranker
#endif // COMPONENTS_ASSIST_RANKER_PREDICTOR_CONFIG_H_