[APM] Fix Memory Chart Percentages (#28905) (#28911)

This commit is contained in:
Søren Louv-Jansen 2019-01-17 13:25:12 +01:00 committed by GitHub
parent 01eaa6454c
commit 7d8b93771b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 7 deletions

View file

@ -29,7 +29,7 @@ export function MemoryUsageChart({ data, hoverXHandlers }: Props) {
noHits={data.totalHits === 0}
series={data.series}
tickFormatY={(y: number | null) => `${(y || 0) * 100}%`}
formatTooltipValue={(c: Coordinate) => asPercent(c.y || 0)}
formatTooltipValue={(c: Coordinate) => asPercent(c.y || 0, 1)}
yMax={1}
/>
</React.Fragment>

View file

@ -107,14 +107,20 @@ export function getMemorySeries(
data: series.maximumPercentMemoryUsed,
type: 'linemark',
color: colors.apmBlue,
legendValue: asPercent(overallValues.maximumPercentMemoryUsed || 0)
legendValue: asPercent(
overallValues.maximumPercentMemoryUsed || 0,
1
)
},
{
title: 'System average',
data: series.averagePercentMemoryUsed,
type: 'linemark',
color: colors.apmGreen,
legendValue: asPercent(overallValues.averagePercentMemoryUsed || 0)
legendValue: asPercent(
overallValues.averagePercentMemoryUsed || 0,
1
)
}
];

View file

@ -30,11 +30,11 @@ describe('formatters', () => {
describe('asPercent', () => {
it('should divide and format item as percent', () => {
expect(asPercent(3725, 10000, 'n/a')).toEqual('37.25%');
expect(asPercent(3725, 10000, 'n/a')).toEqual('37.3%');
});
it('should format when numerator is 0', () => {
expect(asPercent(0, 1, 'n/a')).toEqual('0.00%');
expect(asPercent(0, 1, 'n/a')).toEqual('0.0%');
});
it('should return fallback when denominator is undefined', () => {

View file

@ -136,7 +136,7 @@ export function tpmUnit(type?: string) {
export function asPercent(
numerator: number,
denominator?: number,
denominator: number | undefined,
fallbackResult = ''
) {
if (!denominator) {
@ -144,5 +144,5 @@ export function asPercent(
}
const decimal = numerator / denominator;
return numeral(decimal).format('0.00%');
return numeral(decimal).format('0.0%');
}