Commit 5dda6817 authored by Steven Holte's avatar Steven Holte Committed by Commit Bot

Migrate Contextual Search UKM to shared SourceId.

Bug: 754889
Change-Id: Iabbd43da20b9e1bf8f318b78b141b75f62dd62fd
Reviewed-on: https://chromium-review.googlesource.com/804827
Commit-Queue: Steven Holte <holte@chromium.org>
Reviewed-by: default avatarDonn Denman <donnd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#521987}
parent 7fd2e131
......@@ -18,6 +18,7 @@
#include "components/assist_ranker/binary_classifier_predictor.h"
#include "components/assist_ranker/proto/ranker_example.pb.h"
#include "components/keyed_service/core/keyed_service.h"
#include "components/ukm/content/source_url_recorder.h"
#include "content/public/browser/web_contents.h"
#include "jni/ContextualSearchRankerLoggerImpl_jni.h"
#include "services/metrics/public/cpp/ukm_entry_builder.h"
......@@ -52,8 +53,7 @@ std::string HexHashFeatureName(const std::string& feature_name) {
ContextualSearchRankerLoggerImpl::ContextualSearchRankerLoggerImpl(JNIEnv* env,
jobject obj)
: ukm_recorder_(nullptr),
source_id_(0),
: source_id_(ukm::kInvalidSourceId),
builder_(nullptr),
predictor_(nullptr),
browser_context_(nullptr),
......@@ -76,9 +76,8 @@ void ContextualSearchRankerLoggerImpl::SetupLoggingAndRanker(
if (!web_contents)
return;
GURL page_url = web_contents->GetURL();
ukm::UkmRecorder* ukm_recorder = ukm::UkmRecorder::Get();
SetUkmRecorder(ukm_recorder, page_url);
source_id_ = ukm::GetSourceIdForWebContentsDocument(web_contents);
ResetUkmEntry();
if (IsRankerQueryEnabled()) {
SetupRankerPredictor(web_contents);
......@@ -90,18 +89,10 @@ void ContextualSearchRankerLoggerImpl::SetupLoggingAndRanker(
}
}
void ContextualSearchRankerLoggerImpl::SetUkmRecorder(
ukm::UkmRecorder* ukm_recorder,
const GURL& page_url) {
if (!ukm_recorder) {
builder_.reset();
return;
}
ukm_recorder_ = ukm_recorder;
source_id_ = ukm_recorder_->GetNewSourceID();
ukm_recorder_->UpdateSourceURL(source_id_, page_url);
builder_ = ukm_recorder_->GetEntryBuilder(source_id_, "ContextualSearch");
void ContextualSearchRankerLoggerImpl::ResetUkmEntry() {
// Releasing the old entry triggers logging.
builder_ =
ukm::UkmRecorder::Get()->GetEntryBuilder(source_id_, "ContextualSearch");
}
void ContextualSearchRankerLoggerImpl::SetupRankerPredictor(
......@@ -186,11 +177,8 @@ AssistRankerPrediction ContextualSearchRankerLoggerImpl::RunInference(
void ContextualSearchRankerLoggerImpl::WriteLogAndReset(JNIEnv* env,
jobject obj) {
has_predicted_decision_ = false;
if (!ukm_recorder_)
return;
// Set up another builder for the next record (in case it's needed).
builder_ = ukm_recorder_->GetEntryBuilder(source_id_, "ContextualSearch");
ResetUkmEntry();
ranker_example_.reset();
}
......
......@@ -7,8 +7,6 @@
#include "base/android/jni_android.h"
class GURL;
namespace content {
class BrowserContext;
class WebContents;
......@@ -21,7 +19,6 @@ class RankerExample;
namespace ukm {
class UkmEntryBuilder;
class UkmRecorder;
} // namespace ukm
// A Java counterpart will be generated for this enum.
......@@ -69,9 +66,9 @@ class ContextualSearchRankerLoggerImpl {
void WriteLogAndReset(JNIEnv* env, jobject obj);
private:
// Set the UKM recorder and base-page URL.
// TODO(donnd): write a test, using this to inject a test-ukm-recorder.
void SetUkmRecorder(ukm::UkmRecorder* ukm_recorder, const GURL& page_url);
// Log the current UKM entry (if any) and start a new one.
// TODO(donnd): write a test using TestAutoSetUkmRecorder.
void ResetUkmEntry();
// Sets up the Ranker Predictor for the given |web_contents|.
void SetupRankerPredictor(content::WebContents* web_contents);
......@@ -79,10 +76,6 @@ class ContextualSearchRankerLoggerImpl {
// Whether querying Ranker for model loading and prediction is enabled.
bool IsRankerQueryEnabled();
// Used to log URL-keyed metrics. This pointer will outlive |this|, and may
// be nullptr.
ukm::UkmRecorder* ukm_recorder_;
// The UKM source ID being used for this session.
int32_t source_id_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment