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

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: Reworked ContextualSearchRankerLoggerImpl.java somewhat: assert that calling sequence is valid even… 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::SetupLoggingAndRanker(
27 JNIEnv* env,
28 jobject obj,
29 const base::android::JavaParamRef<jstring>& j_base_page_url) {
30 GURL page_url =
31 GURL(base::android::ConvertJavaStringToUTF8(env, j_base_page_url));
32 ukm::UkmService* ukm_service = g_browser_process->ukm_service();
33 SetUkmService(ukm_service, page_url);
34 // TODO(donnd): set up the model once inference is available.
35 }
36
37 void ContextualSearchRankerLoggerImpl::SetUkmService(
38 ukm::UkmService* ukm_service,
39 const GURL& page_url) {
40 ukm_service_ = ukm_service;
41 DVLOG(0) << "ctxs Setting up UKM for url: " << page_url.spec();
Theresa 2017/05/18 15:35:11 I think these DVLOG() statements should be pulled
Donn Denman 2017/05/18 18:06:07 Done.
42 source_id_ = ukm_service_->GetNewSourceID();
43 ukm_service_->UpdateSourceURL(source_id_, page_url);
44 builder_ = ukm_service_->GetEntryBuilder(source_id_, "ContextualSearch");
45 }
46
47 void ContextualSearchRankerLoggerImpl::LogLong(
48 JNIEnv* env,
49 jobject obj,
50 const base::android::JavaParamRef<jstring>& j_feature,
51 jlong j_long) {
52 std::string feature = base::android::ConvertJavaStringToUTF8(env, j_feature);
53 DVLOG(0) << "Logging feature " << feature << " value " << j_long;
54 builder_->AddMetric(feature.c_str(), j_long);
55 }
56
57 void ContextualSearchRankerLoggerImpl::WriteLogAndReset(JNIEnv* env,
58 jobject obj) {
59 // Set up another builder for the next record (in case it's needed).
60 builder_ = ukm_service_->GetEntryBuilder(source_id_, "ContextualSearch");
61 DVLOG(0) << "Creating a new record builder";
62 }
63
64 // Java wrapper boilerplate
65
66 void ContextualSearchRankerLoggerImpl::Destroy(
67 JNIEnv* env,
68 const base::android::JavaParamRef<jobject>& obj) {
69 delete this;
70 }
71
72 bool RegisterContextualSearchRankerLoggerImpl(JNIEnv* env) {
73 return RegisterNativesImpl(env);
74 }
75
76 jlong Init(JNIEnv* env, const base::android::JavaParamRef<jobject>& obj) {
77 ContextualSearchRankerLoggerImpl* ranker_logger_impl =
78 new ContextualSearchRankerLoggerImpl(env, obj);
79 return reinterpret_cast<intptr_t>(ranker_logger_impl);
80 }
OLDNEW
« no previous file with comments | « chrome/browser/android/contextualsearch/contextual_search_ranker_logger_impl.h ('k') | components/ukm/ukm_service.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698