1 // Copyright 2014 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 #ifndef PPAPI_CPP_PRIVATE_UMA_PRIVATE_H_ 6 #define PPAPI_CPP_PRIVATE_UMA_PRIVATE_H_ 7 8 #include <string> 9 10 #include "ppapi/c/pp_instance.h" 11 #include "ppapi/cpp/instance_handle.h" 12 13 namespace pp { 14 15 class CompletionCallback; 16 17 class UMAPrivate { 18 public: 19 UMAPrivate(); 20 explicit UMAPrivate(const InstanceHandle& instance); 21 ~UMAPrivate(); 22 23 static bool IsAvailable(); 24 25 void HistogramCustomTimes(const std::string& name, 26 int64_t sample, 27 int64_t min, 28 int64_t max, 29 uint32_t bucket_count); 30 31 void HistogramCustomCounts(const std::string& name, 32 int32_t sample, 33 int32_t min, 34 int32_t max, 35 uint32_t bucket_count); 36 37 void HistogramEnumeration(const std::string& name, 38 int32_t sample, 39 int32_t boundary_value); 40 41 int32_t IsCrashReportingEnabled(const CompletionCallback& cc); 42 43 private: 44 PP_Instance instance_; 45 }; 46 47 } // namespace pp 48 49 #endif // PPAPI_CPP_PRIVATE_UMA_PRIVATE_H_ 50