@@ -75,6 +75,7 @@ func (rl *ReplicaLoadCounter) ApplyLoad(le workload.LoadEvent) {
75
75
// are used.
76
76
rl .loadStats .RecordReqCPUNanos (float64 (le .RequestCPU ))
77
77
rl .loadStats .RecordRaftCPUNanos (float64 (le .RaftCPU ))
78
+ rl .loadStats .RecordWriteBytes (float64 (le .WriteSize ))
78
79
}
79
80
80
81
// Load translates the recorded key accesses and size into range usage
@@ -83,14 +84,15 @@ func (rl *ReplicaLoadCounter) Load() allocator.RangeUsageInfo {
83
84
stats := rl .loadStats .Stats ()
84
85
85
86
return allocator.RangeUsageInfo {
86
- QueriesPerSecond : stats .QueriesPerSecond ,
87
+ QueriesPerSecond : stats .QueriesPerSecond ,
87
88
// NB: WritesPerSecond is the sum of writes, rather than the rate. It is
88
89
// only used for testing and could be removed.
89
90
// TODO(wenyihu6): TestWorkloadApply and TestCapacityOverride tests this
90
91
// field as a way to check if replicas have received the load. It is a bit
91
92
// tricky to assert on the rate of writes per second. We should try
92
93
// refactoring.
93
94
WritesPerSecond : float64 (rl .WriteKeys ),
95
+ WriteBytesPerSecond : stats .WriteBytesPerSecond ,
94
96
RaftCPUNanosPerSecond : stats .RaftCPUNanosPerSecond ,
95
97
RequestCPUNanosPerSecond : stats .RequestCPUNanosPerSecond ,
96
98
}
@@ -133,15 +135,16 @@ type CapacityOverride roachpb.StoreCapacity
133
135
// NewCapacityOverride returns a capacity override where no overrides are set.
134
136
func NewCapacityOverride () CapacityOverride {
135
137
return CapacityOverride {
136
- Capacity : capacityOverrideSentinel ,
137
- Available : capacityOverrideSentinel ,
138
- Used : capacityOverrideSentinel ,
139
- LogicalBytes : capacityOverrideSentinel ,
140
- RangeCount : capacityOverrideSentinel ,
141
- LeaseCount : capacityOverrideSentinel ,
142
- QueriesPerSecond : capacityOverrideSentinel ,
143
- WritesPerSecond : capacityOverrideSentinel ,
144
- CPUPerSecond : capacityOverrideSentinel ,
138
+ Capacity : capacityOverrideSentinel ,
139
+ Available : capacityOverrideSentinel ,
140
+ Used : capacityOverrideSentinel ,
141
+ LogicalBytes : capacityOverrideSentinel ,
142
+ RangeCount : capacityOverrideSentinel ,
143
+ LeaseCount : capacityOverrideSentinel ,
144
+ QueriesPerSecond : capacityOverrideSentinel ,
145
+ WritesPerSecond : capacityOverrideSentinel ,
146
+ WriteBytesPerSecond : capacityOverrideSentinel ,
147
+ CPUPerSecond : capacityOverrideSentinel ,
145
148
IOThresholdMax : admissionpb.IOThreshold {
146
149
L0NumSubLevels : capacityOverrideSentinel ,
147
150
L0NumSubLevelsThreshold : capacityOverrideSentinel ,
@@ -156,7 +159,7 @@ func NewCapacityOverride() CapacityOverride {
156
159
func (co CapacityOverride ) String () string {
157
160
return fmt .Sprintf (
158
161
"capacity=%d, available=%d, used=%d, logical_bytes=%d, range_count=%d, lease_count=%d, " +
159
- "queries_per_sec=%.2f, writes_per_sec=%.2f, cpu_per_sec=%.2f, io_threshold_max=%v" ,
162
+ "queries_per_sec=%.2f, writes_per_sec=%.2f, write_bytes_per_sec=%.2f, cpu_per_sec=%.2f, io_threshold_max=%v" ,
160
163
co .Capacity ,
161
164
co .Available ,
162
165
co .Used ,
@@ -165,6 +168,7 @@ func (co CapacityOverride) String() string {
165
168
co .LeaseCount ,
166
169
co .QueriesPerSecond ,
167
170
co .WritesPerSecond ,
171
+ co .WriteBytesPerSecond ,
168
172
co .CPUPerSecond ,
169
173
co .IOThresholdMax ,
170
174
)
@@ -198,6 +202,9 @@ func mergeOverride(
198
202
if override .WritesPerSecond != capacityOverrideSentinel {
199
203
ret .WritesPerSecond = override .WritesPerSecond
200
204
}
205
+ if override .WriteBytesPerSecond != capacityOverrideSentinel {
206
+ ret .WriteBytesPerSecond = override .WriteBytesPerSecond
207
+ }
201
208
if override .CPUPerSecond != capacityOverrideSentinel {
202
209
ret .CPUPerSecond = override .CPUPerSecond
203
210
}
0 commit comments