src: clean up generic counter implementation

This addresses late review comments for the recently
landed cfbfc1b050 and aligns the new code with the
pre-existing V8 fast call counters.

Refs: https://github.com/nodejs/node/pull/60434#pullrequestreview-3386035944
PR-URL: https://github.com/nodejs/node/pull/60447
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
Anna Henningsen 2025-10-30 01:41:25 +01:00 committed by GitHub
parent 88080944ce
commit b470ba08e1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 9 deletions

View File

@ -24,17 +24,16 @@ using v8::Number;
using v8::Object;
using v8::Value;
thread_local std::unordered_map<std::string, int> generic_usage_counters;
thread_local std::unordered_map<FastStringKey, int, FastStringKey::Hash>
generic_usage_counters;
thread_local std::unordered_map<FastStringKey, int, FastStringKey::Hash>
v8_fast_api_call_counts;
void CountGenericUsage(const char* counter_name) {
if (generic_usage_counters.find(counter_name) == generic_usage_counters.end())
generic_usage_counters[counter_name] = 0;
void CountGenericUsage(FastStringKey counter_name) {
generic_usage_counters[counter_name]++;
}
int GetGenericUsageCount(const char* counter_name) {
int GetGenericUsageCount(FastStringKey counter_name) {
return generic_usage_counters[counter_name];
}
@ -53,8 +52,8 @@ void GetGenericUsageCount(const FunctionCallbackInfo<Value>& args) {
return;
}
Utf8Value utf8_key(env->isolate(), args[0]);
args.GetReturnValue().Set(
GetGenericUsageCount(utf8_key.ToStringView().data()));
args.GetReturnValue().Set(GetGenericUsageCount(
FastStringKey::AllowDynamic(utf8_key.ToStringView())));
}
void GetV8FastApiCallCount(const FunctionCallbackInfo<Value>& args) {

View File

@ -13,8 +13,9 @@ namespace debug {
void TrackV8FastApiCall(FastStringKey key);
int GetV8FastApiCallCount(FastStringKey key);
void CountGenericUsage(const char* counter_name);
#define COUNT_GENERIC_USAGE(name) node::debug::CountGenericUsage(name)
void CountGenericUsage(FastStringKey counter_name);
#define COUNT_GENERIC_USAGE(name) \
node::debug::CountGenericUsage(FastStringKey(name))
#define TRACK_V8_FAST_API_CALL(key) \
node::debug::TrackV8FastApiCall(FastStringKey(key))