1*6777b538SAndroid Build Coastguard Worker // Copyright 2014 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker // This file contains a set of histogram support functions for logging behavior 6*6777b538SAndroid Build Coastguard Worker // seen while loading NaCl plugins. 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker #ifndef COMPONENTS_NACL_RENDERER_HISTOGRAM_H_ 9*6777b538SAndroid Build Coastguard Worker #define COMPONENTS_NACL_RENDERER_HISTOGRAM_H_ 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker #include <stdint.h> 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Worker #include <string> 14*6777b538SAndroid Build Coastguard Worker #include "base/time/time.h" 15*6777b538SAndroid Build Coastguard Worker #include "components/nacl/renderer/ppb_nacl_private.h" 16*6777b538SAndroid Build Coastguard Worker 17*6777b538SAndroid Build Coastguard Worker namespace nacl { 18*6777b538SAndroid Build Coastguard Worker 19*6777b538SAndroid Build Coastguard Worker void HistogramCustomCounts(const std::string& name, 20*6777b538SAndroid Build Coastguard Worker int32_t sample, 21*6777b538SAndroid Build Coastguard Worker int32_t min, 22*6777b538SAndroid Build Coastguard Worker int32_t max, 23*6777b538SAndroid Build Coastguard Worker uint32_t bucket_count); 24*6777b538SAndroid Build Coastguard Worker 25*6777b538SAndroid Build Coastguard Worker void HistogramEnumerate(const std::string& name, 26*6777b538SAndroid Build Coastguard Worker int32_t sample, 27*6777b538SAndroid Build Coastguard Worker int32_t boundary_value); 28*6777b538SAndroid Build Coastguard Worker 29*6777b538SAndroid Build Coastguard Worker void HistogramEnumerateLoadStatus(PP_NaClError error_code, 30*6777b538SAndroid Build Coastguard Worker bool is_installed); 31*6777b538SAndroid Build Coastguard Worker 32*6777b538SAndroid Build Coastguard Worker void HistogramEnumerateOsArch(const std::string& sandbox_isa); 33*6777b538SAndroid Build Coastguard Worker 34*6777b538SAndroid Build Coastguard Worker // Records values up to 20 seconds. 35*6777b538SAndroid Build Coastguard Worker void HistogramTimeSmall(const std::string& name, int64_t sample); 36*6777b538SAndroid Build Coastguard Worker // Records values up to 3 minutes, 20 seconds. 37*6777b538SAndroid Build Coastguard Worker void HistogramTimeMedium(const std::string& name, int64_t sample); 38*6777b538SAndroid Build Coastguard Worker // Records values up to 33 minutes. 39*6777b538SAndroid Build Coastguard Worker void HistogramTimeLarge(const std::string& name, int64_t sample); 40*6777b538SAndroid Build Coastguard Worker // Records values up to 12 minutes. 41*6777b538SAndroid Build Coastguard Worker void HistogramTimeTranslation(const std::string& name, int64_t sample_ms); 42*6777b538SAndroid Build Coastguard Worker 43*6777b538SAndroid Build Coastguard Worker void HistogramStartupTimeSmall(const std::string& name, 44*6777b538SAndroid Build Coastguard Worker base::TimeDelta td, 45*6777b538SAndroid Build Coastguard Worker int64_t nexe_size); 46*6777b538SAndroid Build Coastguard Worker void HistogramStartupTimeMedium(const std::string& name, 47*6777b538SAndroid Build Coastguard Worker base::TimeDelta td, 48*6777b538SAndroid Build Coastguard Worker int64_t nexe_size); 49*6777b538SAndroid Build Coastguard Worker void HistogramSizeKB(const std::string& name, int32_t sample); 50*6777b538SAndroid Build Coastguard Worker void HistogramHTTPStatusCode(const std::string& name, int32_t status); 51*6777b538SAndroid Build Coastguard Worker void HistogramEnumerateManifestIsDataURI(bool is_data_uri); 52*6777b538SAndroid Build Coastguard Worker void HistogramKBPerSec(const std::string& name, int64_t kb, int64_t us); 53*6777b538SAndroid Build Coastguard Worker void HistogramRatio(const std::string& name, 54*6777b538SAndroid Build Coastguard Worker int64_t numerator, 55*6777b538SAndroid Build Coastguard Worker int64_t denominator); 56*6777b538SAndroid Build Coastguard Worker 57*6777b538SAndroid Build Coastguard Worker } // namespace nacl 58*6777b538SAndroid Build Coastguard Worker 59*6777b538SAndroid Build Coastguard Worker #endif // COMPONENTS_NACL_RENDERER_HISTOGRAM_H_ 60