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

Unified Diff: ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc

Issue 61643022: Proxy private UMA pepper interface for out-of-process and NaCl plugins. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove errant file, fix comment typo Created 7 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
diff --git a/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc b/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
index d67b99147604412da3e2eba0d920a997045faf90..0f9b9ed22184f8e759d18ef582a702bb037d794b 100644
--- a/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
+++ b/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
@@ -121,85 +121,56 @@ const int32_t kKBPSMin = 1;
const int32_t kKBPSMax = 30*1000; // max of 30 MB / sec.
const uint32_t kKBPSBuckets = 100;
-const PPB_UMA_Private* uma_interface = NULL;
-
-const PPB_UMA_Private* GetUMAInterface() {
- if (uma_interface != NULL) {
- return uma_interface;
- }
- pp::Module *module = pp::Module::Get();
- DCHECK(module);
- uma_interface = static_cast<const PPB_UMA_Private*>(
- module->GetBrowserInterface(PPB_UMA_PRIVATE_INTERFACE));
- return uma_interface;
-}
-
-void HistogramTime(const std::string& name, int64_t ms) {
+void HistogramTime(const pp::UMAPrivate& uma,
+ const std::string& name, int64_t ms) {
if (ms < 0) return;
-
- const PPB_UMA_Private* ptr = GetUMAInterface();
- if (ptr == NULL) return;
-
- ptr->HistogramCustomTimes(pp::Var(name).pp_var(),
- ms,
- kTimeLargeMin, kTimeLargeMax,
- kTimeLargeBuckets);
+ uma.HistogramCustomTimes(name,
+ ms,
+ kTimeLargeMin, kTimeLargeMax,
+ kTimeLargeBuckets);
}
-void HistogramSizeKB(const std::string& name, int32_t kb) {
+void HistogramSizeKB(const pp::UMAPrivate& uma,
+ const std::string& name, int32_t kb) {
if (kb < 0) return;
-
- const PPB_UMA_Private* ptr = GetUMAInterface();
- if (ptr == NULL) return;
-
- ptr->HistogramCustomCounts(pp::Var(name).pp_var(),
- kb,
- kSizeKBMin, kSizeKBMax,
- kSizeKBBuckets);
+ uma.HistogramCustomCounts(name,
+ kb,
+ kSizeKBMin, kSizeKBMax,
+ kSizeKBBuckets);
}
-void HistogramRatio(const std::string& name, int64_t a, int64_t b) {
+void HistogramRatio(const pp::UMAPrivate& uma,
+ const std::string& name, int64_t a, int64_t b) {
if (a < 0 || b <= 0) return;
-
- const PPB_UMA_Private* ptr = GetUMAInterface();
- if (ptr == NULL) return;
-
- ptr->HistogramCustomCounts(pp::Var(name).pp_var(),
- 100 * a / b,
- kRatioMin, kRatioMax,
- kRatioBuckets);
+ uma.HistogramCustomCounts(name,
+ 100 * a / b,
+ kRatioMin, kRatioMax,
+ kRatioBuckets);
}
-void HistogramKBPerSec(const std::string& name, double kb, double s) {
+void HistogramKBPerSec(const pp::UMAPrivate& uma,
+ const std::string& name, double kb, double s) {
if (kb < 0.0 || s <= 0.0) return;
-
- const PPB_UMA_Private* ptr = GetUMAInterface();
- if (ptr == NULL) return;
-
- ptr->HistogramCustomCounts(pp::Var(name).pp_var(),
- static_cast<int64_t>(kb / s),
- kKBPSMin, kKBPSMax,
- kKBPSBuckets);
+ uma.HistogramCustomCounts(name,
+ static_cast<int64_t>(kb / s),
+ kKBPSMin, kKBPSMax,
+ kKBPSBuckets);
}
-void HistogramEnumerateTranslationCache(bool hit) {
- const PPB_UMA_Private* ptr = GetUMAInterface();
- if (ptr == NULL) return;
- ptr->HistogramEnumeration(pp::Var("NaCl.Perf.PNaClCache.IsHit").pp_var(),
- hit, 2);
+void HistogramEnumerateTranslationCache(const pp::UMAPrivate& uma, bool hit) {
+ uma.HistogramEnumeration("NaCl.Perf.PNaClCache.IsHit",
+ hit, 2);
}
// Opt level is expected to be 0 to 3. Treating 4 as unknown.
const int8_t kOptUnknown = 4;
-void HistogramOptLevel(int8_t opt_level) {
- const PPB_UMA_Private* ptr = GetUMAInterface();
- if (ptr == NULL) return;
+void HistogramOptLevel(const pp::UMAPrivate& uma, int8_t opt_level) {
if (opt_level < 0 || opt_level > 3) {
opt_level = kOptUnknown;
}
- ptr->HistogramEnumeration(pp::Var("NaCl.Options.PNaCl.OptLevel").pp_var(),
- opt_level, kOptUnknown+1);
+ uma.HistogramEnumeration("NaCl.Options.PNaCl.OptLevel",
+ opt_level, kOptUnknown+1);
}
} // namespace
@@ -352,20 +323,22 @@ void PnaclCoordinator::TranslateFinished(int32_t pp_error) {
}
// If there are no errors, report stats from this thread (the main thread).
- HistogramOptLevel(pnacl_options_.opt_level());
+ HistogramOptLevel(plugin_->uma_interface(), pnacl_options_.opt_level());
const plugin::PnaclTimeStats& time_stats = translate_thread_->GetTimeStats();
- HistogramTime("NaCl.Perf.PNaClLoadTime.LoadCompiler",
+ HistogramTime(plugin_->uma_interface(),
+ "NaCl.Perf.PNaClLoadTime.LoadCompiler",
time_stats.pnacl_llc_load_time / NACL_MICROS_PER_MILLI);
- HistogramTime("NaCl.Perf.PNaClLoadTime.CompileTime",
+ HistogramTime(plugin_->uma_interface(), "NaCl.Perf.PNaClLoadTime.CompileTime",
time_stats.pnacl_compile_time / NACL_MICROS_PER_MILLI);
- HistogramKBPerSec("NaCl.Perf.PNaClLoadTime.CompileKBPerSec",
+ HistogramKBPerSec(plugin_->uma_interface(),
+ "NaCl.Perf.PNaClLoadTime.CompileKBPerSec",
pexe_size_ / 1024.0,
time_stats.pnacl_compile_time / 1000000.0);
- HistogramTime("NaCl.Perf.PNaClLoadTime.LoadLinker",
+ HistogramTime(plugin_->uma_interface(), "NaCl.Perf.PNaClLoadTime.LoadLinker",
time_stats.pnacl_ld_load_time / NACL_MICROS_PER_MILLI);
- HistogramTime("NaCl.Perf.PNaClLoadTime.LinkTime",
+ HistogramTime(plugin_->uma_interface(), "NaCl.Perf.PNaClLoadTime.LinkTime",
time_stats.pnacl_link_time / NACL_MICROS_PER_MILLI);
- HistogramSizeKB("NaCl.Perf.Size.Pexe",
+ HistogramSizeKB(plugin_->uma_interface(), "NaCl.Perf.Size.Pexe",
static_cast<int64_t>(pexe_size_ / 1024));
struct nacl_abi_stat stbuf;
@@ -376,15 +349,19 @@ void PnaclCoordinator::TranslateFinished(int32_t pp_error) {
PLUGIN_PRINTF(("PnaclCoordinator::TranslateFinished can't stat nexe.\n"));
} else {
size_t nexe_size = stbuf.nacl_abi_st_size;
- HistogramSizeKB("NaCl.Perf.Size.PNaClTranslatedNexe",
+ HistogramSizeKB(plugin_->uma_interface(),
+ "NaCl.Perf.Size.PNaClTranslatedNexe",
static_cast<int64_t>(nexe_size / 1024));
- HistogramRatio("NaCl.Perf.Size.PexeNexeSizePct", pexe_size_, nexe_size);
+ HistogramRatio(plugin_->uma_interface(),
+ "NaCl.Perf.Size.PexeNexeSizePct", pexe_size_, nexe_size);
}
int64_t total_time = NaClGetTimeOfDayMicroseconds() - pnacl_init_time_;
- HistogramTime("NaCl.Perf.PNaClLoadTime.TotalUncachedTime",
+ HistogramTime(plugin_->uma_interface(),
+ "NaCl.Perf.PNaClLoadTime.TotalUncachedTime",
total_time / NACL_MICROS_PER_MILLI);
- HistogramKBPerSec("NaCl.Perf.PNaClLoadTime.TotalUncachedKBPerSec",
+ HistogramKBPerSec(plugin_->uma_interface(),
+ "NaCl.Perf.PNaClLoadTime.TotalUncachedKBPerSec",
pexe_size_ / 1024.0,
total_time / 1000000.0);
@@ -547,7 +524,7 @@ void PnaclCoordinator::NexeFdDidOpen(int32_t pp_error) {
"PnaclCoordinator: Got bad temp file handle from GetNexeFd"));
return;
}
- HistogramEnumerateTranslationCache(is_cache_hit_);
+ HistogramEnumerateTranslationCache(plugin_->uma_interface(), is_cache_hit_);
if (is_cache_hit_ == PP_TRUE) {
// Cache hit -- no need to stream the rest of the file.
@@ -597,7 +574,8 @@ void PnaclCoordinator::BitcodeStreamDidFinish(int32_t pp_error) {
translate_thread_->AbortSubprocesses();
} else {
// Compare download completion pct (100% now), to compile completion pct.
- HistogramRatio("NaCl.Perf.PNaClLoadTime.PctCompiledWhenFullyDownloaded",
+ HistogramRatio(plugin_->uma_interface(),
+ "NaCl.Perf.PNaClLoadTime.PctCompiledWhenFullyDownloaded",
pexe_bytes_compiled_, pexe_size_);
}
}

Powered by Google App Engine
This is Rietveld 408576698