Index: chrome/browser/budget_service/budget_manager.cc |
diff --git a/chrome/browser/budget_service/budget_manager.cc b/chrome/browser/budget_service/budget_manager.cc |
index cdf4fd71c885c1600d30b938cd913f3f32728e69..60de27bbe0d08bef685df9828341f23a61774b7e 100644 |
--- a/chrome/browser/budget_service/budget_manager.cc |
+++ b/chrome/browser/budget_service/budget_manager.cc |
@@ -74,7 +74,9 @@ void BudgetManager::GetBudget(const url::Origin& origin, |
mojo::Array<blink::mojom::BudgetStatePtr>()); |
return; |
} |
- db_.GetBudgetDetails(origin, callback); |
+ db_.GetBudgetDetails(origin, |
+ base::Bind(&BudgetManager::DidGetBudget, |
+ weak_ptr_factory_.GetWeakPtr(), callback)); |
} |
void BudgetManager::Reserve(const url::Origin& origin, |
@@ -122,6 +124,21 @@ void BudgetManager::Consume(const url::Origin& origin, |
weak_ptr_factory_.GetWeakPtr(), callback)); |
} |
+void BudgetManager::DidGetBudget( |
+ const GetBudgetCallback& callback, |
+ const blink::mojom::BudgetServiceErrorType error, |
+ mojo::Array<blink::mojom::BudgetStatePtr> budget) { |
+ // If there was an error, just record a budget of 0, so the API query is still |
+ // counted. |
+ if (error != blink::mojom::BudgetServiceErrorType::NONE) |
+ UMA_HISTOGRAM_COUNTS_100("PushMessaging.BudgetAPIQuery", 0); |
+ else |
+ UMA_HISTOGRAM_COUNTS_100("PushMessaging.BudgetAPIQuery", |
+ budget[0]->budget_at); |
Peter Beverloo
2016/11/28 10:59:00
What is the added value of recording the immediate
harkness
2016/11/28 13:58:04
I'd like to have an idea of whether the people who
Peter Beverloo
2016/11/28 14:14:06
But since UMA gives us aggregated data, we have no
harkness
2016/11/28 16:09:09
My gut feel for the API is that it will be used by
Peter Beverloo
2016/11/28 18:22:04
We have three variables for values in this histogr
harkness
2016/11/29 15:27:21
Discussed in person, summarizing here. The budget
|
+ |
+ callback.Run(error, std::move(budget)); |
+} |
+ |
void BudgetManager::DidConsume(const ConsumeCallback& callback, |
blink::mojom::BudgetServiceErrorType error, |
bool success) { |
@@ -142,5 +159,7 @@ void BudgetManager::DidReserve(const url::Origin& origin, |
if (success && error == blink::mojom::BudgetServiceErrorType::NONE) |
reservation_map_[origin]++; |
+ UMA_HISTOGRAM_BOOLEAN("PushMessaging.BudgetAPIReserve", success); |
+ |
callback.Run(error, success); |
} |