[Profiling] Apply weight to comparison side based on selected time range (#140921)

This commit is contained in:
Dario Gieselaar 2022-09-19 13:34:16 +02:00 committed by GitHub
parent 1d0504f1f6
commit c6892d4294
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -80,6 +80,11 @@ export function getFlamegraphModel({
const totalSamples = sum(primaryFlamegraph.CountExclusive);
const comparisonTotalSamples = sum(comparisonFlamegraph.CountExclusive);
const weightComparisonSide =
comparisonMode === FlameGraphComparisonMode.Relative
? 1
: primaryFlamegraph.TotalSeconds / comparisonFlamegraph.TotalSeconds;
primaryFlamegraph.ID.forEach((nodeID, index) => {
const samples = primaryFlamegraph.Value[index];
const comparisonSamples = comparisonNodesById[nodeID]?.Value as number | undefined;
@ -94,7 +99,11 @@ export function getFlamegraphModel({
const denominator =
comparisonMode === FlameGraphComparisonMode.Absolute ? totalSamples : foreground;
const interpolationValue = getInterpolationValue(foreground, background, denominator);
const interpolationValue = getInterpolationValue(
foreground,
background === undefined ? undefined : background * weightComparisonSide,
denominator
);
const nodeColor =
interpolationValue >= 0