Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: components/signin/core/browser/gaia_cookie_manager_service.cc

Issue 1148283005: Add histograms to entire MergeSession flow. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: jwd comments Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | components/signin/core/browser/gaia_cookie_manager_service_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/signin/core/browser/gaia_cookie_manager_service.h" 5 #include "components/signin/core/browser/gaia_cookie_manager_service.h"
6 6
7 #include <queue> 7 #include <queue>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
11 #include "base/metrics/histogram_macros.h"
11 #include "base/stl_util.h" 12 #include "base/stl_util.h"
12 #include "base/strings/string_util.h" 13 #include "base/strings/string_util.h"
13 #include "base/strings/stringprintf.h" 14 #include "base/strings/stringprintf.h"
14 #include "base/time/time.h" 15 #include "base/time/time.h"
15 #include "base/values.h" 16 #include "base/values.h"
16 #include "components/signin/core/browser/signin_metrics.h" 17 #include "components/signin/core/browser/signin_metrics.h"
17 #include "google_apis/gaia/gaia_auth_fetcher.h" 18 #include "google_apis/gaia/gaia_auth_fetcher.h"
18 #include "google_apis/gaia/gaia_auth_util.h" 19 #include "google_apis/gaia/gaia_auth_util.h"
19 #include "google_apis/gaia/gaia_constants.h" 20 #include "google_apis/gaia/gaia_constants.h"
20 #include "google_apis/gaia/gaia_urls.h" 21 #include "google_apis/gaia/gaia_urls.h"
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 520
520 void GaiaCookieManagerService::OnMergeSessionFailure( 521 void GaiaCookieManagerService::OnMergeSessionFailure(
521 const GoogleServiceAuthError& error) { 522 const GoogleServiceAuthError& error) {
522 DCHECK(requests_.front().request_type() == 523 DCHECK(requests_.front().request_type() ==
523 GaiaCookieRequestType::ADD_ACCOUNT); 524 GaiaCookieRequestType::ADD_ACCOUNT);
524 VLOG(1) << "Failed MergeSession" 525 VLOG(1) << "Failed MergeSession"
525 << " account=" << requests_.front().account_id() 526 << " account=" << requests_.front().account_id()
526 << " error=" << error.ToString(); 527 << " error=" << error.ToString();
527 if (++fetcher_retries_ < kMaxFetcherRetries && IsTransientError(error)) { 528 if (++fetcher_retries_ < kMaxFetcherRetries && IsTransientError(error)) {
528 fetcher_backoff_.InformOfRequest(false); 529 fetcher_backoff_.InformOfRequest(false);
530 UMA_HISTOGRAM_ENUMERATION("OAuth2Login.MergeSessionRetry",
531 error.state(), GoogleServiceAuthError::NUM_STATES);
529 fetcher_timer_.Start( 532 fetcher_timer_.Start(
530 FROM_HERE, fetcher_backoff_.GetTimeUntilRelease(), 533 FROM_HERE, fetcher_backoff_.GetTimeUntilRelease(),
531 base::Bind(&SigninClient::DelayNetworkCall, 534 base::Bind(&SigninClient::DelayNetworkCall,
532 base::Unretained(signin_client_), 535 base::Unretained(signin_client_),
533 base::Bind( 536 base::Bind(
534 &GaiaCookieManagerService::StartFetchingMergeSession, 537 &GaiaCookieManagerService::StartFetchingMergeSession,
535 base::Unretained(this)))); 538 base::Unretained(this))));
536 return; 539 return;
537 } 540 }
538 541
539 uber_token_ = std::string(); 542 uber_token_ = std::string();
540 const std::string account_id = requests_.front().account_id(); 543 const std::string account_id = requests_.front().account_id();
544
545 UMA_HISTOGRAM_ENUMERATION("OAuth2Login.MergeSessionFailure",
546 error.state(), GoogleServiceAuthError::NUM_STATES);
541 HandleNextRequest(); 547 HandleNextRequest();
542 SignalComplete(account_id, error); 548 SignalComplete(account_id, error);
543 } 549 }
544 550
545 void GaiaCookieManagerService::OnListAccountsSuccess(const std::string& data) { 551 void GaiaCookieManagerService::OnListAccountsSuccess(const std::string& data) {
546 VLOG(1) << "ListAccounts successful"; 552 VLOG(1) << "ListAccounts successful";
547 DCHECK(requests_.front().request_type() == 553 DCHECK(requests_.front().request_type() ==
548 GaiaCookieRequestType::LIST_ACCOUNTS); 554 GaiaCookieRequestType::LIST_ACCOUNTS);
549 fetcher_backoff_.InformOfRequest(true); 555 fetcher_backoff_.InformOfRequest(true);
550 556
(...skipping 16 matching lines...) Expand all
567 GoogleServiceAuthError(GoogleServiceAuthError::NONE))); 573 GoogleServiceAuthError(GoogleServiceAuthError::NONE)));
568 } 574 }
569 575
570 void GaiaCookieManagerService::OnListAccountsFailure( 576 void GaiaCookieManagerService::OnListAccountsFailure(
571 const GoogleServiceAuthError& error) { 577 const GoogleServiceAuthError& error) {
572 VLOG(1) << "ListAccounts failed"; 578 VLOG(1) << "ListAccounts failed";
573 DCHECK(requests_.front().request_type() == 579 DCHECK(requests_.front().request_type() ==
574 GaiaCookieRequestType::LIST_ACCOUNTS); 580 GaiaCookieRequestType::LIST_ACCOUNTS);
575 if (++fetcher_retries_ < kMaxFetcherRetries && IsTransientError(error)) { 581 if (++fetcher_retries_ < kMaxFetcherRetries && IsTransientError(error)) {
576 fetcher_backoff_.InformOfRequest(false); 582 fetcher_backoff_.InformOfRequest(false);
583 UMA_HISTOGRAM_ENUMERATION("Signin.ListAccountsRetry",
584 error.state(), GoogleServiceAuthError::NUM_STATES);
577 fetcher_timer_.Start( 585 fetcher_timer_.Start(
578 FROM_HERE, fetcher_backoff_.GetTimeUntilRelease(), 586 FROM_HERE, fetcher_backoff_.GetTimeUntilRelease(),
579 base::Bind(&SigninClient::DelayNetworkCall, 587 base::Bind(&SigninClient::DelayNetworkCall,
580 base::Unretained(signin_client_), 588 base::Unretained(signin_client_),
581 base::Bind( 589 base::Bind(
582 &GaiaCookieManagerService::StartFetchingListAccounts, 590 &GaiaCookieManagerService::StartFetchingListAccounts,
583 base::Unretained(this)))); 591 base::Unretained(this))));
584 return; 592 return;
585 } 593 }
586 594
595 UMA_HISTOGRAM_ENUMERATION("Signin.ListAccountsFailure",
596 error.state(), GoogleServiceAuthError::NUM_STATES);
587 FOR_EACH_OBSERVER(Observer, observer_list_, 597 FOR_EACH_OBSERVER(Observer, observer_list_,
588 OnGaiaAccountsInCookieUpdated(listed_accounts_, error)); 598 OnGaiaAccountsInCookieUpdated(listed_accounts_, error));
589 HandleNextRequest(); 599 HandleNextRequest();
590 } 600 }
591 601
592 void GaiaCookieManagerService::StartFetchingUbertoken() { 602 void GaiaCookieManagerService::StartFetchingUbertoken() {
593 VLOG(1) << "GaiaCookieManagerService::StartFetching account_id=" 603 VLOG(1) << "GaiaCookieManagerService::StartFetching account_id="
594 << requests_.front().account_id(); 604 << requests_.front().account_id();
595 uber_token_fetcher_.reset( 605 uber_token_fetcher_.reset(
596 new UbertokenFetcher(token_service_, this, source_, 606 new UbertokenFetcher(token_service_, this, source_,
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
673 break; 683 break;
674 case GaiaCookieRequestType::LIST_ACCOUNTS: 684 case GaiaCookieRequestType::LIST_ACCOUNTS:
675 uber_token_fetcher_.reset(); 685 uber_token_fetcher_.reset();
676 signin_client_->DelayNetworkCall( 686 signin_client_->DelayNetworkCall(
677 base::Bind(&GaiaCookieManagerService::StartFetchingListAccounts, 687 base::Bind(&GaiaCookieManagerService::StartFetchingListAccounts,
678 base::Unretained(this))); 688 base::Unretained(this)));
679 break; 689 break;
680 }; 690 };
681 } 691 }
682 } 692 }
OLDNEW
« no previous file with comments | « no previous file | components/signin/core/browser/gaia_cookie_manager_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698