15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// found in the LICENSE file. 45d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#ifndef PPAPI_CPP_PRIVATE_UMA_PRIVATE_H_ 65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define PPAPI_CPP_PRIVATE_UMA_PRIVATE_H_ 75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include <string> 95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ppapi/c/pp_instance.h" 115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ppapi/cpp/instance_handle.h" 125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)namespace pp { 145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 15effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochclass CompletionCallback; 16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)class UMAPrivate { 185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) public: 195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) UMAPrivate(); 205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) explicit UMAPrivate(const InstanceHandle& instance); 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ~UMAPrivate(); 225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) static bool IsAvailable(); 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) void HistogramCustomTimes(const std::string& name, 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int64_t sample, 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int64_t min, 285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int64_t max, 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) uint32_t bucket_count); 305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) void HistogramCustomCounts(const std::string& name, 325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int32_t sample, 335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int32_t min, 345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int32_t max, 355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) uint32_t bucket_count); 365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) void HistogramEnumeration(const std::string& name, 385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int32_t sample, 395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int32_t boundary_value); 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 41effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch int32_t IsCrashReportingEnabled(const CompletionCallback& cc); 42effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) private: 445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) PP_Instance instance_; 455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)}; 465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} // namespace pp 485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#endif // PPAPI_CPP_PRIVATE_UMA_PRIVATE_H_ 50