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

Side by Side Diff: ppapi/native_client/src/trusted/plugin/pnacl_coordinator.h

Issue 331973002: Pepper: Move more UMA stuff out of trusted plugin. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comment fix for dmichael Created 6 years, 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PNACL_COORDINATOR_H_ 5 #ifndef NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PNACL_COORDINATOR_H_
6 #define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PNACL_COORDINATOR_H_ 6 #define NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PNACL_COORDINATOR_H_
7 7
8 #include <set> 8 #include <set>
9 #include <map> 9 #include <map>
10 #include <vector> 10 #include <vector>
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 // Implement FileDownloader's template of the CallbackSource interface. 72 // Implement FileDownloader's template of the CallbackSource interface.
73 // This method returns a callback which will be called by the FileDownloader 73 // This method returns a callback which will be called by the FileDownloader
74 // to stream the bitcode data as it arrives. The callback 74 // to stream the bitcode data as it arrives. The callback
75 // (BitcodeStreamGotData) passes it to llc over SRPC. 75 // (BitcodeStreamGotData) passes it to llc over SRPC.
76 StreamCallback GetCallback(); 76 StreamCallback GetCallback();
77 77
78 // Return a callback that should be notified when |bytes_compiled| bytes 78 // Return a callback that should be notified when |bytes_compiled| bytes
79 // have been compiled. 79 // have been compiled.
80 pp::CompletionCallback GetCompileProgressCallback(int64_t bytes_compiled); 80 pp::CompletionCallback GetCompileProgressCallback(int64_t bytes_compiled);
81 81
82 // Return a callback that should be notified when an interesting UMA timing
83 // is ready to be reported.
84 pp::CompletionCallback GetUMATimeCallback(const nacl::string& event_name,
85 int64_t microsecs);
86
87 // Get the last known load progress. 82 // Get the last known load progress.
88 void GetCurrentProgress(int64_t* bytes_loaded, int64_t* bytes_total); 83 void GetCurrentProgress(int64_t* bytes_loaded, int64_t* bytes_total);
89 84
90 // Return true if we should delay the progress event reporting. 85 // Return true if we should delay the progress event reporting.
91 // This delay approximates: 86 // This delay approximates:
92 // - the size of the buffer of bytes sent but not-yet-compiled by LLC. 87 // - the size of the buffer of bytes sent but not-yet-compiled by LLC.
93 // - the linking time. 88 // - the linking time.
94 bool ShouldDelayProgressEvent() { 89 bool ShouldDelayProgressEvent() {
95 const uint32_t kProgressEventSlopPct = 5; 90 const uint32_t kProgressEventSlopPct = 5;
96 return ((expected_pexe_size_ - pexe_bytes_compiled_) * 100 / 91 return ((expected_pexe_size_ - pexe_bytes_compiled_) * 100 /
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 // been created, this starts the translation. Translation starts two 126 // been created, this starts the translation. Translation starts two
132 // subprocesses, one for llc and one for ld. 127 // subprocesses, one for llc and one for ld.
133 void RunTranslate(int32_t pp_error); 128 void RunTranslate(int32_t pp_error);
134 129
135 // Invoked when translation is finished. 130 // Invoked when translation is finished.
136 void TranslateFinished(int32_t pp_error); 131 void TranslateFinished(int32_t pp_error);
137 132
138 // Invoked when the read descriptor for nexe_file_ is created. 133 // Invoked when the read descriptor for nexe_file_ is created.
139 void NexeReadDidOpen(int32_t pp_error); 134 void NexeReadDidOpen(int32_t pp_error);
140 135
141 // Invoked when a UMA timing measurement from the translate thread is ready.
142 void DoUMATimeMeasure(
143 int32_t pp_error, const nacl::string& event_name, int64_t microsecs);
144
145 // Bring control back to the plugin by invoking the 136 // Bring control back to the plugin by invoking the
146 // |translate_notify_callback_|. This does not set the ErrorInfo report, 137 // |translate_notify_callback_|. This does not set the ErrorInfo report,
147 // it is assumed that it was already set. 138 // it is assumed that it was already set.
148 void ExitWithError(); 139 void ExitWithError();
149 // Run |translate_notify_callback_| with an error condition that is not 140 // Run |translate_notify_callback_| with an error condition that is not
150 // PPAPI specific. Also set ErrorInfo report. 141 // PPAPI specific. Also set ErrorInfo report.
151 void ReportNonPpapiError(PP_NaClError err, const nacl::string& message); 142 void ReportNonPpapiError(PP_NaClError err, const nacl::string& message);
152 // Run when faced with a PPAPI error condition. Bring control back to the 143 // Run when faced with a PPAPI error condition. Bring control back to the
153 // plugin by invoking the |translate_notify_callback_|. 144 // plugin by invoking the |translate_notify_callback_|.
154 // Also set ErrorInfo report. 145 // Also set ErrorInfo report.
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 // The helper thread used to do translations via SRPC. 209 // The helper thread used to do translations via SRPC.
219 // It accesses fields of PnaclCoordinator so it must have a 210 // It accesses fields of PnaclCoordinator so it must have a
220 // shorter lifetime. 211 // shorter lifetime.
221 nacl::scoped_ptr<PnaclTranslateThread> translate_thread_; 212 nacl::scoped_ptr<PnaclTranslateThread> translate_thread_;
222 }; 213 };
223 214
224 //---------------------------------------------------------------------- 215 //----------------------------------------------------------------------
225 216
226 } // namespace plugin; 217 } // namespace plugin;
227 #endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PNACL_COORDINATOR_H_ 218 #endif // NATIVE_CLIENT_SRC_TRUSTED_PLUGIN_PNACL_COORDINATOR_H_
OLDNEW
« no previous file with comments | « ppapi/c/private/ppb_nacl_private.h ('k') | ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698