Update experiment name

pull/36413/head
Yash Tibrewal 1 year ago
parent 83cf8e9e99
commit 7dda8431e8
  1. 2
      bazel/experiments.bzl
  2. 8
      src/core/ext/transport/chttp2/transport/writing.cc
  3. 27
      src/core/lib/experiments/experiments.cc
  4. 20
      src/core/lib/experiments/experiments.h
  5. 2
      src/core/lib/experiments/experiments.yaml
  6. 2
      src/core/lib/experiments/rollouts.yaml

@ -43,7 +43,7 @@ EXPERIMENT_ENABLES = {
"tcp_frame_size_tuning": "tcp_frame_size_tuning", "tcp_frame_size_tuning": "tcp_frame_size_tuning",
"tcp_rcv_lowat": "tcp_rcv_lowat", "tcp_rcv_lowat": "tcp_rcv_lowat",
"trace_record_callops": "trace_record_callops", "trace_record_callops": "trace_record_callops",
"transfer_headers_to_trailers": "transfer_headers_to_trailers", "trailers_only_transfer": "trailers_only_transfer",
"unconstrained_max_quota_buffer_size": "unconstrained_max_quota_buffer_size", "unconstrained_max_quota_buffer_size": "unconstrained_max_quota_buffer_size",
"work_serializer_clears_time_cache": "work_serializer_clears_time_cache", "work_serializer_clears_time_cache": "work_serializer_clears_time_cache",
"work_serializer_dispatch": "event_engine_client,work_serializer_dispatch", "work_serializer_dispatch": "event_engine_client,work_serializer_dispatch",

@ -591,9 +591,9 @@ class StreamWriteContext {
bool stream_became_writable() { return stream_became_writable_; } bool stream_became_writable() { return stream_became_writable_; }
private: private:
class HeaderToTrailersMetadataEncoder { class TrailersOnlyMetadataEncoder {
public: public:
explicit HeaderToTrailersMetadataEncoder(grpc_metadata_batch* trailing_md) explicit TrailersOnlyMetadataEncoder(grpc_metadata_batch* trailing_md)
: trailing_md_(trailing_md) {} : trailing_md_(trailing_md) {}
// Non-grpc metadata should not be transferred. // Non-grpc metadata should not be transferred.
@ -626,8 +626,8 @@ class StreamWriteContext {
gpr_log(GPR_INFO, "not sending initial_metadata (Trailers-Only)")); gpr_log(GPR_INFO, "not sending initial_metadata (Trailers-Only)"));
// When sending Trailers-Only, we need to move metadata from headers to // When sending Trailers-Only, we need to move metadata from headers to
// trailers. // trailers.
if (grpc_core::IsTransferHeadersToTrailersEnabled()) { if (grpc_core::IsTrailersOnlyTransferEnabled()) {
HeaderToTrailersMetadataEncoder encoder(s_->send_trailing_metadata); TrailersOnlyMetadataEncoder encoder(s_->send_trailing_metadata);
s_->send_initial_metadata->Encode(&encoder); s_->send_initial_metadata->Encode(&encoder);
} else { } else {
send_status_ = send_status_ =

@ -127,9 +127,9 @@ const char* const additional_constraints_tcp_rcv_lowat = "{}";
const char* const description_trace_record_callops = const char* const description_trace_record_callops =
"Enables tracing of call batch initiation and completion."; "Enables tracing of call batch initiation and completion.";
const char* const additional_constraints_trace_record_callops = "{}"; const char* const additional_constraints_trace_record_callops = "{}";
const char* const description_transfer_headers_to_trailers = const char* const description_trailers_only_transfer =
"On a trailers-only response, copy most gRPC headers to trailers."; "On a trailers-only response, copy most gRPC headers to trailers.";
const char* const additional_constraints_transfer_headers_to_trailers = "{}"; const char* const additional_constraints_trailers_only_transfer = "{}";
const char* const description_unconstrained_max_quota_buffer_size = const char* const description_unconstrained_max_quota_buffer_size =
"Discard the cap on the max free pool size for one memory allocator"; "Discard the cap on the max free pool size for one memory allocator";
const char* const additional_constraints_unconstrained_max_quota_buffer_size = const char* const additional_constraints_unconstrained_max_quota_buffer_size =
@ -210,9 +210,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
additional_constraints_tcp_rcv_lowat, nullptr, 0, false, true}, additional_constraints_tcp_rcv_lowat, nullptr, 0, false, true},
{"trace_record_callops", description_trace_record_callops, {"trace_record_callops", description_trace_record_callops,
additional_constraints_trace_record_callops, nullptr, 0, true, true}, additional_constraints_trace_record_callops, nullptr, 0, true, true},
{"transfer_headers_to_trailers", description_transfer_headers_to_trailers, {"trailers_only_transfer", description_trailers_only_transfer,
additional_constraints_transfer_headers_to_trailers, nullptr, 0, true, additional_constraints_trailers_only_transfer, nullptr, 0, true, true},
true},
{"unconstrained_max_quota_buffer_size", {"unconstrained_max_quota_buffer_size",
description_unconstrained_max_quota_buffer_size, description_unconstrained_max_quota_buffer_size,
additional_constraints_unconstrained_max_quota_buffer_size, nullptr, 0, additional_constraints_unconstrained_max_quota_buffer_size, nullptr, 0,
@ -333,9 +332,9 @@ const char* const additional_constraints_tcp_rcv_lowat = "{}";
const char* const description_trace_record_callops = const char* const description_trace_record_callops =
"Enables tracing of call batch initiation and completion."; "Enables tracing of call batch initiation and completion.";
const char* const additional_constraints_trace_record_callops = "{}"; const char* const additional_constraints_trace_record_callops = "{}";
const char* const description_transfer_headers_to_trailers = const char* const description_trailers_only_transfer =
"On a trailers-only response, copy most gRPC headers to trailers."; "On a trailers-only response, copy most gRPC headers to trailers.";
const char* const additional_constraints_transfer_headers_to_trailers = "{}"; const char* const additional_constraints_trailers_only_transfer = "{}";
const char* const description_unconstrained_max_quota_buffer_size = const char* const description_unconstrained_max_quota_buffer_size =
"Discard the cap on the max free pool size for one memory allocator"; "Discard the cap on the max free pool size for one memory allocator";
const char* const additional_constraints_unconstrained_max_quota_buffer_size = const char* const additional_constraints_unconstrained_max_quota_buffer_size =
@ -416,9 +415,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
additional_constraints_tcp_rcv_lowat, nullptr, 0, false, true}, additional_constraints_tcp_rcv_lowat, nullptr, 0, false, true},
{"trace_record_callops", description_trace_record_callops, {"trace_record_callops", description_trace_record_callops,
additional_constraints_trace_record_callops, nullptr, 0, true, true}, additional_constraints_trace_record_callops, nullptr, 0, true, true},
{"transfer_headers_to_trailers", description_transfer_headers_to_trailers, {"trailers_only_transfer", description_trailers_only_transfer,
additional_constraints_transfer_headers_to_trailers, nullptr, 0, true, additional_constraints_trailers_only_transfer, nullptr, 0, true, true},
true},
{"unconstrained_max_quota_buffer_size", {"unconstrained_max_quota_buffer_size",
description_unconstrained_max_quota_buffer_size, description_unconstrained_max_quota_buffer_size,
additional_constraints_unconstrained_max_quota_buffer_size, nullptr, 0, additional_constraints_unconstrained_max_quota_buffer_size, nullptr, 0,
@ -539,9 +537,9 @@ const char* const additional_constraints_tcp_rcv_lowat = "{}";
const char* const description_trace_record_callops = const char* const description_trace_record_callops =
"Enables tracing of call batch initiation and completion."; "Enables tracing of call batch initiation and completion.";
const char* const additional_constraints_trace_record_callops = "{}"; const char* const additional_constraints_trace_record_callops = "{}";
const char* const description_transfer_headers_to_trailers = const char* const description_trailers_only_transfer =
"On a trailers-only response, copy most gRPC headers to trailers."; "On a trailers-only response, copy most gRPC headers to trailers.";
const char* const additional_constraints_transfer_headers_to_trailers = "{}"; const char* const additional_constraints_trailers_only_transfer = "{}";
const char* const description_unconstrained_max_quota_buffer_size = const char* const description_unconstrained_max_quota_buffer_size =
"Discard the cap on the max free pool size for one memory allocator"; "Discard the cap on the max free pool size for one memory allocator";
const char* const additional_constraints_unconstrained_max_quota_buffer_size = const char* const additional_constraints_unconstrained_max_quota_buffer_size =
@ -622,9 +620,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
additional_constraints_tcp_rcv_lowat, nullptr, 0, false, true}, additional_constraints_tcp_rcv_lowat, nullptr, 0, false, true},
{"trace_record_callops", description_trace_record_callops, {"trace_record_callops", description_trace_record_callops,
additional_constraints_trace_record_callops, nullptr, 0, true, true}, additional_constraints_trace_record_callops, nullptr, 0, true, true},
{"transfer_headers_to_trailers", description_transfer_headers_to_trailers, {"trailers_only_transfer", description_trailers_only_transfer,
additional_constraints_transfer_headers_to_trailers, nullptr, 0, true, additional_constraints_trailers_only_transfer, nullptr, 0, true, true},
true},
{"unconstrained_max_quota_buffer_size", {"unconstrained_max_quota_buffer_size",
description_unconstrained_max_quota_buffer_size, description_unconstrained_max_quota_buffer_size,
additional_constraints_unconstrained_max_quota_buffer_size, nullptr, 0, additional_constraints_unconstrained_max_quota_buffer_size, nullptr, 0,

@ -89,8 +89,8 @@ inline bool IsTcpFrameSizeTuningEnabled() { return false; }
inline bool IsTcpRcvLowatEnabled() { return false; } inline bool IsTcpRcvLowatEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS #define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS
inline bool IsTraceRecordCallopsEnabled() { return true; } inline bool IsTraceRecordCallopsEnabled() { return true; }
#define GRPC_EXPERIMENT_IS_INCLUDED_TRANSFER_HEADERS_TO_TRAILERS #define GRPC_EXPERIMENT_IS_INCLUDED_TRAILERS_ONLY_TRANSFER
inline bool IsTransferHeadersToTrailersEnabled() { return true; } inline bool IsTrailersOnlyTransferEnabled() { return true; }
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; } inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_CLEARS_TIME_CACHE #define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_CLEARS_TIME_CACHE
inline bool IsWorkSerializerClearsTimeCacheEnabled() { return true; } inline bool IsWorkSerializerClearsTimeCacheEnabled() { return true; }
@ -130,8 +130,8 @@ inline bool IsTcpFrameSizeTuningEnabled() { return false; }
inline bool IsTcpRcvLowatEnabled() { return false; } inline bool IsTcpRcvLowatEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS #define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS
inline bool IsTraceRecordCallopsEnabled() { return true; } inline bool IsTraceRecordCallopsEnabled() { return true; }
#define GRPC_EXPERIMENT_IS_INCLUDED_TRANSFER_HEADERS_TO_TRAILERS #define GRPC_EXPERIMENT_IS_INCLUDED_TRAILERS_ONLY_TRANSFER
inline bool IsTransferHeadersToTrailersEnabled() { return true; } inline bool IsTrailersOnlyTransferEnabled() { return true; }
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; } inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_CLEARS_TIME_CACHE #define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_CLEARS_TIME_CACHE
inline bool IsWorkSerializerClearsTimeCacheEnabled() { return true; } inline bool IsWorkSerializerClearsTimeCacheEnabled() { return true; }
@ -172,8 +172,8 @@ inline bool IsTcpFrameSizeTuningEnabled() { return false; }
inline bool IsTcpRcvLowatEnabled() { return false; } inline bool IsTcpRcvLowatEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS #define GRPC_EXPERIMENT_IS_INCLUDED_TRACE_RECORD_CALLOPS
inline bool IsTraceRecordCallopsEnabled() { return true; } inline bool IsTraceRecordCallopsEnabled() { return true; }
#define GRPC_EXPERIMENT_IS_INCLUDED_TRANSFER_HEADERS_TO_TRAILERS #define GRPC_EXPERIMENT_IS_INCLUDED_TRAILERS_ONLY_TRANSFER
inline bool IsTransferHeadersToTrailersEnabled() { return true; } inline bool IsTrailersOnlyTransferEnabled() { return true; }
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; } inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { return false; }
#define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_CLEARS_TIME_CACHE #define GRPC_EXPERIMENT_IS_INCLUDED_WORK_SERIALIZER_CLEARS_TIME_CACHE
inline bool IsWorkSerializerClearsTimeCacheEnabled() { return true; } inline bool IsWorkSerializerClearsTimeCacheEnabled() { return true; }
@ -209,7 +209,7 @@ enum ExperimentIds {
kExperimentIdTcpFrameSizeTuning, kExperimentIdTcpFrameSizeTuning,
kExperimentIdTcpRcvLowat, kExperimentIdTcpRcvLowat,
kExperimentIdTraceRecordCallops, kExperimentIdTraceRecordCallops,
kExperimentIdTransferHeadersToTrailers, kExperimentIdTrailersOnlyTransfer,
kExperimentIdUnconstrainedMaxQuotaBufferSize, kExperimentIdUnconstrainedMaxQuotaBufferSize,
kExperimentIdWorkSerializerClearsTimeCache, kExperimentIdWorkSerializerClearsTimeCache,
kExperimentIdWorkSerializerDispatch, kExperimentIdWorkSerializerDispatch,
@ -319,9 +319,9 @@ inline bool IsTcpRcvLowatEnabled() {
inline bool IsTraceRecordCallopsEnabled() { inline bool IsTraceRecordCallopsEnabled() {
return IsExperimentEnabled(kExperimentIdTraceRecordCallops); return IsExperimentEnabled(kExperimentIdTraceRecordCallops);
} }
#define GRPC_EXPERIMENT_IS_INCLUDED_TRANSFER_HEADERS_TO_TRAILERS #define GRPC_EXPERIMENT_IS_INCLUDED_TRAILERS_ONLY_TRANSFER
inline bool IsTransferHeadersToTrailersEnabled() { inline bool IsTrailersOnlyTransferEnabled() {
return IsExperimentEnabled(kExperimentIdTransferHeadersToTrailers); return IsExperimentEnabled(kExperimentIdTrailersOnlyTransfer);
} }
#define GRPC_EXPERIMENT_IS_INCLUDED_UNCONSTRAINED_MAX_QUOTA_BUFFER_SIZE #define GRPC_EXPERIMENT_IS_INCLUDED_UNCONSTRAINED_MAX_QUOTA_BUFFER_SIZE
inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() { inline bool IsUnconstrainedMaxQuotaBufferSizeEnabled() {

@ -215,7 +215,7 @@
expiry: 2024/08/01 expiry: 2024/08/01
owner: vigneshbabu@google.com owner: vigneshbabu@google.com
test_tags: [] test_tags: []
- name: transfer_headers_to_trailers - name: trailers_only_transfer
description: description:
On a trailers-only response, copy most gRPC headers to trailers. On a trailers-only response, copy most gRPC headers to trailers.
expiry: 2024/09/30 expiry: 2024/09/30

@ -110,7 +110,7 @@
default: false default: false
- name: trace_record_callops - name: trace_record_callops
default: true default: true
- name: transfer_headers_to_trailers - name: trailers_only_transfer
default: true default: true
- name: unconstrained_max_quota_buffer_size - name: unconstrained_max_quota_buffer_size
default: false default: false

Loading…
Cancel
Save