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

Side by Side Diff: net/socket/client_socket_pool_base.cc

Issue 2696403007: Add a multiplier in tracking certificate memory allocation size (Closed)
Patch Set: Created 3 years, 10 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "net/socket/client_socket_pool_base.h" 5 #include "net/socket/client_socket_pool_base.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 690 matching lines...) Expand 10 before | Expand all | Expand 10 after
701 return dict; 701 return dict;
702 } 702 }
703 703
704 void ClientSocketPoolBaseHelper::DumpMemoryStats( 704 void ClientSocketPoolBaseHelper::DumpMemoryStats(
705 base::trace_event::ProcessMemoryDump* pmd, 705 base::trace_event::ProcessMemoryDump* pmd,
706 const std::string& parent_dump_absolute_name) const { 706 const std::string& parent_dump_absolute_name) const {
707 size_t socket_count = 0; 707 size_t socket_count = 0;
708 size_t total_size = 0; 708 size_t total_size = 0;
709 size_t buffer_size = 0; 709 size_t buffer_size = 0;
710 size_t cert_count = 0; 710 size_t cert_count = 0;
711 size_t serialized_cert_size = 0; 711 size_t cert_size = 0;
712 for (const auto& kv : group_map_) { 712 for (const auto& kv : group_map_) {
713 for (const auto& socket : kv.second->idle_sockets()) { 713 for (const auto& socket : kv.second->idle_sockets()) {
714 StreamSocket::SocketMemoryStats stats; 714 StreamSocket::SocketMemoryStats stats;
715 socket.socket->DumpMemoryStats(&stats); 715 socket.socket->DumpMemoryStats(&stats);
716 total_size += stats.total_size; 716 total_size += stats.total_size;
717 buffer_size += stats.buffer_size; 717 buffer_size += stats.buffer_size;
718 cert_count += stats.cert_count; 718 cert_count += stats.cert_count;
719 serialized_cert_size += stats.serialized_cert_size; 719 cert_size += stats.cert_size;
720 ++socket_count; 720 ++socket_count;
721 } 721 }
722 } 722 }
723 // Only create a MemoryAllocatorDump if there is at least one idle socket 723 // Only create a MemoryAllocatorDump if there is at least one idle socket
724 if (socket_count > 0) { 724 if (socket_count > 0) {
725 base::trace_event::MemoryAllocatorDump* socket_pool_dump = 725 base::trace_event::MemoryAllocatorDump* socket_pool_dump =
726 pmd->CreateAllocatorDump(base::StringPrintf( 726 pmd->CreateAllocatorDump(base::StringPrintf(
727 "%s/socket_pool", parent_dump_absolute_name.c_str())); 727 "%s/socket_pool", parent_dump_absolute_name.c_str()));
728 socket_pool_dump->AddScalar( 728 socket_pool_dump->AddScalar(
729 base::trace_event::MemoryAllocatorDump::kNameSize, 729 base::trace_event::MemoryAllocatorDump::kNameSize,
730 base::trace_event::MemoryAllocatorDump::kUnitsBytes, total_size); 730 base::trace_event::MemoryAllocatorDump::kUnitsBytes, total_size);
731 socket_pool_dump->AddScalar( 731 socket_pool_dump->AddScalar(
732 base::trace_event::MemoryAllocatorDump::kNameObjectCount, 732 base::trace_event::MemoryAllocatorDump::kNameObjectCount,
733 base::trace_event::MemoryAllocatorDump::kUnitsObjects, socket_count); 733 base::trace_event::MemoryAllocatorDump::kUnitsObjects, socket_count);
734 socket_pool_dump->AddScalar( 734 socket_pool_dump->AddScalar(
735 "buffer_size", base::trace_event::MemoryAllocatorDump::kUnitsBytes, 735 "buffer_size", base::trace_event::MemoryAllocatorDump::kUnitsBytes,
736 buffer_size); 736 buffer_size);
737 socket_pool_dump->AddScalar( 737 socket_pool_dump->AddScalar(
738 "cert_count", base::trace_event::MemoryAllocatorDump::kUnitsObjects, 738 "cert_count", base::trace_event::MemoryAllocatorDump::kUnitsObjects,
739 cert_count); 739 cert_count);
740 socket_pool_dump->AddScalar( 740 socket_pool_dump->AddScalar(
741 "serialized_cert_size", 741 "undeduped_cert_size",
742 base::trace_event::MemoryAllocatorDump::kUnitsBytes, 742 base::trace_event::MemoryAllocatorDump::kUnitsBytes, cert_size);
743 serialized_cert_size);
744 } 743 }
745 } 744 }
746 745
747 bool ClientSocketPoolBaseHelper::IdleSocket::IsUsable() const { 746 bool ClientSocketPoolBaseHelper::IdleSocket::IsUsable() const {
748 if (socket->WasEverUsed()) 747 if (socket->WasEverUsed())
749 return socket->IsConnectedAndIdle(); 748 return socket->IsConnectedAndIdle();
750 return socket->IsConnected(); 749 return socket->IsConnected();
751 } 750 }
752 751
753 void ClientSocketPoolBaseHelper::CleanupIdleSockets(bool force) { 752 void ClientSocketPoolBaseHelper::CleanupIdleSockets(bool force) {
(...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after
1428 // If there are no more requests, kill the backup timer. 1427 // If there are no more requests, kill the backup timer.
1429 if (pending_requests_.empty()) 1428 if (pending_requests_.empty())
1430 backup_job_timer_.Stop(); 1429 backup_job_timer_.Stop();
1431 request->CrashIfInvalid(); 1430 request->CrashIfInvalid();
1432 return request; 1431 return request;
1433 } 1432 }
1434 1433
1435 } // namespace internal 1434 } // namespace internal
1436 1435
1437 } // namespace net 1436 } // namespace net
OLDNEW
« no previous file with comments | « no previous file | net/socket/ssl_client_socket_impl.cc » ('j') | net/socket/ssl_client_socket_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698