fix: store quick-verify request-rate curves
This commit is contained in:
@@ -834,11 +834,11 @@ function compactQuickVerifyRecordBrowserProcess(value: Record<string, unknown>):
|
||||
|
||||
function compactQuickVerifyRecordRequestRate(summaryValue: Record<string, unknown>, curveValue: Record<string, unknown>): Record<string, unknown> | null {
|
||||
const source = Object.keys(curveValue).length > 0 ? curveValue : summaryValue;
|
||||
const summary = record(curveValue.summary);
|
||||
const summary = record(source.summary);
|
||||
const effectiveSummary = Object.keys(summary).length > 0 ? summary : summaryValue;
|
||||
const pageCurves = Array.isArray(curveValue.pageCurves) ? curveValue.pageCurves.map((item) => compactQuickVerifyRecordRequestRateCurve(item, "page")).filter((item) => item.buckets.length > 0).slice(0, 12) : [];
|
||||
const apiPathCurves = Array.isArray(curveValue.apiPathCurves) ? curveValue.apiPathCurves.map((item) => compactQuickVerifyRecordRequestRateCurve(item, "apiPath")).filter((item) => item.buckets.length > 0).slice(0, 16) : [];
|
||||
const buckets = Array.isArray(curveValue.buckets) ? curveValue.buckets.map(compactQuickVerifyRecordRequestRateBucket).filter((item) => item.startAt !== null && item.requestPerMinute !== null).slice(-120) : [];
|
||||
const pageCurves = Array.isArray(source.pageCurves) ? source.pageCurves.map((item) => compactQuickVerifyRecordRequestRateCurve(item, "page")).filter((item) => item.buckets.length > 0).slice(0, 12) : [];
|
||||
const apiPathCurves = Array.isArray(source.apiPathCurves) ? source.apiPathCurves.map((item) => compactQuickVerifyRecordRequestRateCurve(item, "apiPath")).filter((item) => item.buckets.length > 0).slice(0, 16) : [];
|
||||
const buckets = Array.isArray(source.buckets) ? source.buckets.map(compactQuickVerifyRecordRequestRateBucket).filter(hasCompactRequestRateBucketPoint).slice(-120) : [];
|
||||
if (Object.keys(source).length === 0 && pageCurves.length === 0 && apiPathCurves.length === 0 && buckets.length === 0) return null;
|
||||
return {
|
||||
summary: compactQuickVerifyRecordRequestRateSummary(effectiveSummary),
|
||||
@@ -878,7 +878,7 @@ function compactQuickVerifyRecordRequestRateSummary(value: Record<string, unknow
|
||||
|
||||
function compactQuickVerifyRecordRequestRateCurve(value: unknown, scope: string): Record<string, unknown> & { buckets: Record<string, unknown>[] } {
|
||||
const item = record(value);
|
||||
const buckets = Array.isArray(item.buckets) ? item.buckets.map(compactQuickVerifyRecordRequestRateBucket).filter((bucket) => bucket.startAt !== null && bucket.requestPerMinute !== null).slice(-120) : [];
|
||||
const buckets = Array.isArray(item.buckets) ? item.buckets.map(compactQuickVerifyRecordRequestRateBucket).filter(hasCompactRequestRateBucketPoint).slice(-120) : [];
|
||||
return {
|
||||
pageKey: stringAtNullable(item, "pageKey"),
|
||||
pageRole: stringAtNullable(item, "pageRole"),
|
||||
@@ -902,14 +902,18 @@ function compactQuickVerifyRecordRequestRateBucket(value: unknown): Record<strin
|
||||
return {
|
||||
bucketStartMs: numberAtNullable(item, "bucketStartMs"),
|
||||
bucketEndMs: numberAtNullable(item, "bucketEndMs"),
|
||||
startAt: stringAtNullable(item, "startAt"),
|
||||
endAt: stringAtNullable(item, "endAt"),
|
||||
count: numberAtNullable(item, "count"),
|
||||
requestPerMinute: numberAtNullable(item, "requestPerMinute"),
|
||||
startAt: stringAtNullable(item, "startAt") ?? stringAtNullable(item, "t"),
|
||||
endAt: stringAtNullable(item, "endAt") ?? stringAtNullable(item, "e"),
|
||||
count: numberAtNullable(item, "count") ?? numberAtNullable(item, "c"),
|
||||
requestPerMinute: numberAtNullable(item, "requestPerMinute") ?? numberAtNullable(item, "rpm"),
|
||||
valuesRedacted: true,
|
||||
};
|
||||
}
|
||||
|
||||
function hasCompactRequestRateBucketPoint(value: Record<string, unknown>): boolean {
|
||||
return stringAtNullable(value, "startAt") !== null && numberAtNullable(value, "requestPerMinute") !== null;
|
||||
}
|
||||
|
||||
function compactQuickVerifyRecordRequestRatePeak(value: unknown): Record<string, unknown> {
|
||||
const item = record(value);
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user