diff options
author | courage@chromium.org <courage@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-29 09:04:45 +0000 |
---|---|---|
committer | courage@chromium.org <courage@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-07-29 09:04:45 +0000 |
commit | 5dc43ecb316563a5e74ed517be8c2d4bc31ef2ea (patch) | |
tree | 9e0c29fcbf0087b3b36a9d4f357b1a810355b2de /chrome/browser/extensions/api/identity/identity_mint_queue.cc | |
parent | 94bdde96dd735aaade108f1d7672092a228551aa (diff) | |
download | chromium_src-5dc43ecb316563a5e74ed517be8c2d4bc31ef2ea.zip chromium_src-5dc43ecb316563a5e74ed517be8c2d4bc31ef2ea.tar.gz chromium_src-5dc43ecb316563a5e74ed517be8c2d4bc31ef2ea.tar.bz2 |
Identity API TRACE_EVENT logging
This change adds "identity" events to chrome://tracing, mostly for
getAuthToken calls. This will allow users or developers to capture
traces to debug identity API issues.
Review URL: https://codereview.chromium.org/423513003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@286131 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/api/identity/identity_mint_queue.cc')
-rw-r--r-- | chrome/browser/extensions/api/identity/identity_mint_queue.cc | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/chrome/browser/extensions/api/identity/identity_mint_queue.cc b/chrome/browser/extensions/api/identity/identity_mint_queue.cc index a6131ab..5103e02 100644 --- a/chrome/browser/extensions/api/identity/identity_mint_queue.cc +++ b/chrome/browser/extensions/api/identity/identity_mint_queue.cc @@ -4,6 +4,7 @@ #include "chrome/browser/extensions/api/identity/identity_mint_queue.h" +#include "base/debug/trace_event.h" #include "base/logging.h" #include "base/stl_util.h" @@ -31,28 +32,40 @@ void IdentityMintRequestQueue::RequestStart( IdentityMintRequestQueue::MintType type, const ExtensionTokenKey& key, IdentityMintRequestQueue::Request* request) { + TRACE_EVENT_ASYNC_BEGIN1( + "identity", "IdentityMintRequestQueue", request, "type", type); RequestQueue& request_queue = GetRequestQueueMap(type)[key]; request_queue.push_back(request); // If this is the first request, start it now. RequestComplete will start // all other requests. if (request_queue.size() == 1) - request_queue.front()->StartMintToken(type); + RunRequest(type, request_queue); } void IdentityMintRequestQueue::RequestComplete( IdentityMintRequestQueue::MintType type, const ExtensionTokenKey& key, IdentityMintRequestQueue::Request* request) { + TRACE_EVENT_ASYNC_END1("identity", + "IdentityMintRequestQueue", + request, + "completed", + "RequestComplete"); RequestQueue& request_queue = GetRequestQueueMap(type)[key]; CHECK_EQ(request_queue.front(), request); request_queue.pop_front(); if (request_queue.size() > 0) - request_queue.front()->StartMintToken(type); + RunRequest(type, request_queue); } void IdentityMintRequestQueue::RequestCancel( const ExtensionTokenKey& key, IdentityMintRequestQueue::Request* request) { + TRACE_EVENT_ASYNC_END1("identity", + "IdentityMintRequestQueue", + request, + "completed", + "RequestCancel"); GetRequestQueueMap(MINT_TYPE_INTERACTIVE)[key].remove(request); GetRequestQueueMap(MINT_TYPE_NONINTERACTIVE)[key].remove(request); } @@ -71,4 +84,12 @@ IdentityMintRequestQueue::GetRequestQueueMap( : noninteractive_request_queue_map_; } +void IdentityMintRequestQueue::RunRequest( + IdentityMintRequestQueue::MintType type, + RequestQueue& request_queue) { + TRACE_EVENT_ASYNC_STEP_INTO0( + "identity", "IdentityMintRequestQueue", request_queue.front(), "RUNNING"); + request_queue.front()->StartMintToken(type); +} + } // namespace extensions |