Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(46)

Side by Side Diff: chrome/browser/android/contextualsearch/contextual_search_ranker_logger_impl.cc

Issue 2857333002: [TTS] Write initial Tap-features to Ranker. (Closed)
Patch Set: Added logging of the CS-model URL and updated console-logging output. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include <chrome/browser/android/contextualsearch/contextual_search_ranker_logge r_impl.h>
6
7 #include "base/android/jni_string.h"
8 #include "base/android/scoped_java_ref.h"
9 #include "base/metrics/metrics_hashes.h"
10 #include "chrome/browser/browser_process.h"
11 #include "components/keyed_service/core/keyed_service.h"
12 #include "components/ukm/ukm_entry_builder.h"
13 #include "components/ukm/ukm_service.h"
14 #include "jni/ContextualSearchRankerLoggerImpl_jni.h"
15
16 ContextualSearchRankerLoggerImpl::ContextualSearchRankerLoggerImpl(
17 JNIEnv* env,
18 jobject obj) {
19 java_object_.Reset(env, obj);
20 }
21
22 ContextualSearchRankerLoggerImpl::~ContextualSearchRankerLoggerImpl() {
23 java_object_ = nullptr;
24 }
25
26 void ContextualSearchRankerLoggerImpl::SetUkmServiceAndUrls(
27 JNIEnv* env,
28 jobject obj,
29 const base::android::JavaParamRef<jstring>& j_base_page_url,
30 const base::android::JavaParamRef<jstring>& j_model_url) {
31 GURL page_url =
32 GURL(base::android::ConvertJavaStringToUTF8(env, j_base_page_url));
33 std::string model_url =
34 base::android::ConvertJavaStringToUTF8(env, j_model_url);
35 ukm::UkmService* ukm_service = g_browser_process->ukm_service();
36 SetUkmService(ukm_service, page_url);
37 // TODO(donnd): Is this a reasonable way to handle the model URL?
38 builder_->AddMetric("ContextualSearchModelUrl",
39 base::HashMetricName(model_url));
Theresa 2017/05/12 01:02:25 Should we change model URL to model name or someth
Donn Denman 2017/05/12 23:08:55 Good suggestion -- I think I like "model selector"
40 }
41
42 void ContextualSearchRankerLoggerImpl::SetUkmService(
43 ukm::UkmService* ukm_service,
44 const GURL& page_url) {
45 ukm_service_ = ukm_service;
46 DVLOG(0) << "ctxs Setting up UKM for url: " << page_url.spec();
47 source_id_ = ukm_service_->GetNewSourceID();
48 ukm_service_->UpdateSourceURL(source_id_, page_url);
49 builder_ = ukm_service_->GetEntryBuilder(source_id_, "ContextualSearch");
50 }
51
52 void ContextualSearchRankerLoggerImpl::LogLong(
53 JNIEnv* env,
54 jobject obj,
55 const base::android::JavaParamRef<jstring>& j_feature,
56 jlong j_long) {
57 std::string feature = base::android::ConvertJavaStringToUTF8(env, j_feature);
58 DVLOG(0) << "Logging feature " << feature << " value " << j_long;
59 builder_->AddMetric(feature.c_str(), j_long);
60 }
61
62 void ContextualSearchRankerLoggerImpl::LogString(
63 JNIEnv* env,
64 jobject obj,
65 const base::android::JavaParamRef<jstring>& j_feature,
66 const base::android::JavaParamRef<jstring>& j_string) {
67 std::string feature = base::android::ConvertJavaStringToUTF8(env, j_feature);
68 std::string string = base::android::ConvertJavaStringToUTF8(env, j_string);
69 DVLOG(0) << "Logging feature " << feature << " value " << string;
70 builder_->AddMetric(feature.c_str(), base::HashMetricName(string));
71 }
72
73 void ContextualSearchRankerLoggerImpl::WriteLogAndReset(JNIEnv* env,
74 jobject obj) {
75 // Set up another builder for the next record (in case it's needed).
76 builder_ = ukm_service_->GetEntryBuilder(source_id_, "ContextualSearch");
77 DVLOG(0) << "Creating a new record builder";
Theresa 2017/05/12 01:02:25 We should probably remove these before landing sin
Donn Denman 2017/05/12 23:08:55 I think they're OK since they're debug-only, and t
78 }
79
80 // Java wrapper boilerplate
81
82 void ContextualSearchRankerLoggerImpl::Destroy(
83 JNIEnv* env,
84 const base::android::JavaParamRef<jobject>& obj) {
85 delete this;
86 }
87
88 bool RegisterContextualSearchRankerLoggerImpl(JNIEnv* env) {
89 return RegisterNativesImpl(env);
90 }
91
92 jlong Init(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj) {
93 ContextualSearchRankerLoggerImpl* ranker_logger_impl =
94 new ContextualSearchRankerLoggerImpl(env, obj);
95 return reinterpret_cast<intptr_t>(ranker_logger_impl);
96 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698