15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/* Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * This file defines the <code>PPB_UMA_Private</code> interface. 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 105d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)[generate_thunk,thunk_include="ppapi/thunk/ppb_uma_singleton_api.h"] 115d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)label Chrome { 13effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch M35 = 0.3 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/** 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * Contains functions for plugins to report UMA usage stats. 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)interface PPB_UMA_Private { 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HistogramCustomTimes is a pointer to a function which records a time 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * sample given in milliseconds in the histogram given by |name|, possibly 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * creating the histogram if it does not exist. 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) [singleton,api=PPB_UMA_Singleton_API] 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) void HistogramCustomTimes([in] PP_Instance instance, 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) [in] PP_Var name, 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] int64_t sample, 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] int64_t min, 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] int64_t max, 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] uint32_t bucket_count); 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HistogramCustomCounts is a pointer to a function which records a sample 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * in the histogram given by |name|, possibly creating the histogram if it 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * does not exist. 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) [singleton,api=PPB_UMA_Singleton_API] 395d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) void HistogramCustomCounts([in] PP_Instance instance, 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) [in] PP_Var name, 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] int32_t sample, 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] int32_t min, 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] int32_t max, 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] uint32_t bucket_count); 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) /** 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * HistogramEnumeration is a pointer to a function which records a sample 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * in the histogram given by |name|, possibly creating the histogram if it 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * does not exist. The sample represents a value in an enumeration bounded 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) * by |boundary_value|, that is, sample < boundary_value always. 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) */ 525d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) [singleton,api=PPB_UMA_Singleton_API] 535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) void HistogramEnumeration([in] PP_Instance instance, 545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) [in] PP_Var name, 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] int32_t sample, 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) [in] int32_t boundary_value); 57effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 58effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch /** 59effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch * IsCrashReportingEnabled returns PP_OK to the completion callback to 60effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch * indicate that the current user has opted-in to crash reporting, or 61effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch * PP_ERROR_* on failure or when a user has not opted-in. This can be used to 62effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch * gate other reporting processes such as analytics and crash reporting. 63effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch */ 64effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch [singleton,api=PPB_UMA_Singleton_API] 65effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch int32_t IsCrashReportingEnabled([in] PP_Instance instance, 66effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch [in] PP_CompletionCallback callback); 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 68