MetricsServiceClient & MetricsProvider currently have interfaces that are more complex than they could be, because they are oriented around getting individual specific from the context layer. Many of the functions could generalized/consolidated.
Yes, for MetricsServiceClient, I think at least some of these can be replaced with a few metrics MetricsProviders, since they are mostly just used for populating SystemProfile
virtual int32_t GetProduct() = 0;
virtual std::string GetApplicationLocale() = 0;
virtual bool GetBrand(std::string* brand_code) = 0;
virtual SystemProfileProto::Channel GetChannel() = 0;
virtual std::string GetVersionString() = 0;
virtual void OnPluginLoadingError(const base::FilePath& plugin_path) {}
virtual void OnRendererProcessCrash() {}
virtual bool IsReportingPolicyManaged();
virtual EnableMetricsDefault GetMetricsReportingDefaultState();
Comment 1 by holte@chromium.org
, Jul 13 2017Labels: -Type-Bug Type-Task