1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00

Receive target Object metrics for v2

Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
This commit is contained in:
Alex Andreev 2023-01-16 10:27:19 +03:00
parent fd0f46a87c
commit 525d439e7c
2 changed files with 41 additions and 8 deletions

View File

@ -21,7 +21,7 @@ const hpaV2 = {
} }
describe("HorizontalPodAutoscalerApi", () => { describe("HorizontalPodAutoscalerApi", () => {
describe("HPA v1", () => { describe("HPA v2", () => {
it("should return correct empty metrics", () => { it("should return correct empty metrics", () => {
const hpa = new HorizontalPodAutoscaler(hpaV2); const hpa = new HorizontalPodAutoscaler(hpaV2);
@ -103,5 +103,32 @@ describe("HorizontalPodAutoscalerApi", () => {
expect(hpa.getMetricValues(hpa.getMetrics()[0])).toEqual("unknown / 1k"); expect(hpa.getMetricValues(hpa.getMetrics()[0])).toEqual("unknown / 1k");
}); });
it("should return correct object metrics", () => {
const hpa = new HorizontalPodAutoscaler(
{
...hpaV2,
spec: {
...hpaV2.spec,
metrics: [
{
type: HpaMetricType.Object,
object: {
metric: {
name: "requests-per-second"
},
target: {
type: "Value",
value: "10k"
}
}
}
]
}
}
);
expect(hpa.getMetricValues(hpa.getMetrics()[0])).toEqual("unknown / 10k");
});
}); });
}); });

View File

@ -45,10 +45,19 @@ export interface ExternalMetricSource {
export interface ObjectMetricSource { export interface ObjectMetricSource {
averageValue?: string; averageValue?: string;
metricName: string; metricName?: string;
selector?: LabelSelector; selector?: LabelSelector;
target: CrossVersionObjectReference; targetValue?: string;
targetValue: string;
// autoscaling/v2
metric?: {
name?: string;
},
target: {
type?: string;
value?: string;
};
describedObject?: CrossVersionObjectReference;
} }
export interface PodsMetricSource { export interface PodsMetricSource {
@ -344,10 +353,7 @@ function getObjectMetricValue(currentMetric: ObjectMetricStatus | undefined, tar
currentMetric?.currentValue currentMetric?.currentValue
?? currentMetric?.averageValue ?? currentMetric?.averageValue
), ),
target: ( target: targetMetric?.target?.value
targetMetric?.targetValue
?? targetMetric?.averageValue
),
}; };
} }