aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/webcore/HTTPHeaderMap.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-08-24 19:39:00 -0700
committerGravatar GitHub <noreply@github.com> 2023-08-24 19:39:00 -0700
commit8a48e8bb0b7de985a96b3a4cae389e3294a2c0e3 (patch)
tree20d8dc382512313061c20296d1e33e8d18fbbde3 /src/bun.js/bindings/webcore/HTTPHeaderMap.cpp
parent097ae4e982a9cbcae6b4886c4efb82d452629b99 (diff)
downloadbun-8a48e8bb0b7de985a96b3a4cae389e3294a2c0e3.tar.gz
bun-8a48e8bb0b7de985a96b3a4cae389e3294a2c0e3.tar.zst
bun-8a48e8bb0b7de985a96b3a4cae389e3294a2c0e3.zip
Report extra memory more (#4289)
* Report memory allocated in fetch * Memory size reporting to `Headers` * Fixup memory reporting allocator * Make these tests do more * cleanup some of this --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/bun.js/bindings/webcore/HTTPHeaderMap.cpp')
-rw-r--r--src/bun.js/bindings/webcore/HTTPHeaderMap.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/bun.js/bindings/webcore/HTTPHeaderMap.cpp b/src/bun.js/bindings/webcore/HTTPHeaderMap.cpp
index 99fc9cf13..5021c699d 100644
--- a/src/bun.js/bindings/webcore/HTTPHeaderMap.cpp
+++ b/src/bun.js/bindings/webcore/HTTPHeaderMap.cpp
@@ -77,6 +77,25 @@ String HTTPHeaderMap::get(const String& name) const
return getUncommonHeader(name);
}
+size_t HTTPHeaderMap::memoryCost() const
+{
+ size_t cost = m_commonHeaders.size() * sizeof(CommonHeader);
+ cost += m_uncommonHeaders.size() * sizeof(UncommonHeader);
+ cost += m_setCookieHeaders.size() * sizeof(String);
+ for (auto& header : m_commonHeaders)
+ cost += header.value.sizeInBytes();
+
+ for (auto& header : m_uncommonHeaders) {
+ cost += header.key.sizeInBytes();
+ cost += header.value.sizeInBytes();
+ }
+
+ for (auto& header : m_setCookieHeaders)
+ cost += header.sizeInBytes();
+
+ return cost;
+}
+
String HTTPHeaderMap::getUncommonHeader(const String& name) const
{
auto index = m_uncommonHeaders.findIf([&](auto& header) {