[EventEngine] Enable work stealing thread pool in debug builds (#33333)

pull/33361/head
AJ Heller 2 years ago committed by GitHub
parent 1f85fb21f2
commit 28692fdcae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      bazel/experiments.bzl
  2. 7
      src/core/lib/experiments/experiments.cc
  3. 11
      src/core/lib/experiments/experiments.h
  4. 2
      src/core/lib/experiments/rollouts.yaml

@ -18,6 +18,9 @@
EXPERIMENTS = {
"dbg": {
"core_end2end_test": [
"work_stealing",
],
},
"off": {
"census_test": [
@ -28,7 +31,6 @@ EXPERIMENTS = {
"event_engine_listener",
"promise_based_client_call",
"promise_based_server_call",
"work_stealing",
],
"cpp_end2end_test": [
"promise_based_server_call",

@ -86,6 +86,11 @@ const char* const description_canary_client_privacy =
const char* const additional_constraints_canary_client_privacy = "{}";
const char* const description_server_privacy = "If set, server privacy";
const char* const additional_constraints_server_privacy = "{}";
#ifdef NDEBUG
const bool kDefaultForDebugOnly = false;
#else
const bool kDefaultForDebugOnly = true;
#endif
} // namespace
namespace grpc_core {
@ -125,7 +130,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
{"event_engine_dns", description_event_engine_dns,
additional_constraints_event_engine_dns, false, false},
{"work_stealing", description_work_stealing,
additional_constraints_work_stealing, false, false},
additional_constraints_work_stealing, kDefaultForDebugOnly, false},
{"client_privacy", description_client_privacy,
additional_constraints_client_privacy, false, false},
{"canary_client_privacy", description_canary_client_privacy,

@ -73,7 +73,16 @@ inline bool IsEventEngineListenerEnabled() { return false; }
inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
inline bool IsTraceRecordCallopsEnabled() { return false; }
inline bool IsEventEngineDnsEnabled() { return false; }
inline bool IsWorkStealingEnabled() { return false; }
#ifndef NDEBUG
#define GRPC_EXPERIMENT_IS_INCLUDED_WORK_STEALING
#endif
inline bool IsWorkStealingEnabled() {
#ifdef NDEBUG
return false;
#else
return true;
#endif
}
inline bool IsClientPrivacyEnabled() { return false; }
inline bool IsCanaryClientPrivacyEnabled() { return false; }
inline bool IsServerPrivacyEnabled() { return false; }

@ -53,7 +53,7 @@
- name: event_engine_dns
default: false
- name: work_stealing
default: false
default: debug
- name: client_privacy
default: false
- name: canary_client_privacy

Loading…
Cancel
Save