[Profiling] For diff functions add change of total samples (#144724)

This commit is contained in:
Tim Rühsen 2022-11-08 11:51:18 +01:00 committed by GitHub
parent 77c10f9a9c
commit 199eb170f9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -14,6 +14,7 @@ import {
EuiHorizontalRule,
EuiSpacer,
EuiText,
EuiTextColor,
useEuiTheme,
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
@ -57,6 +58,18 @@ function CPUStat({ cpu, diffCPU }: { cpu: number; diffCPU: number | undefined })
);
}
function TotalDiff({ samples1, samples2 }: { samples1: number; samples2: number }) {
if (samples1 === samples2 || samples1 === 0) {
return <></>;
}
const diff = Math.abs(1 - samples2 / samples1) * 100;
const text = (samples1 < samples2 ? '+' : '-') + `${diff.toFixed(2)}%`;
const color = samples1 < samples2 ? 'danger' : 'success';
return <EuiTextColor color={color}> ({text})</EuiTextColor>;
}
export const TopNFunctionsTable = ({
sortDirection,
sortField,
@ -228,6 +241,10 @@ export const TopNFunctionsTable = ({
<>
<EuiText size="xs">
<strong>{totalSampleCountLabel}:</strong> {totalCount}
{TotalDiff({
samples1: comparisonTopNFunctions?.TotalCount ?? 0,
samples2: totalCount,
})}
</EuiText>
<EuiSpacer size="s" />
<EuiHorizontalRule margin="none" style={{ height: 2 }} />