mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Flamegraph: Make color by package the default color mode (#76137)
* Make package based the default color mode * simplify the code a bit
This commit is contained in:
@@ -206,24 +206,13 @@ const FlameGraphContainer = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
function useColorScheme(dataContainer: FlameGraphDataContainer | undefined) {
|
function useColorScheme(dataContainer: FlameGraphDataContainer | undefined) {
|
||||||
const [colorScheme, setColorScheme] = useState<ColorScheme | ColorSchemeDiff>(
|
const defaultColorScheme = dataContainer?.isDiffFlamegraph() ? ColorSchemeDiff.Default : ColorScheme.PackageBased;
|
||||||
dataContainer?.isDiffFlamegraph() ? ColorSchemeDiff.Default : ColorScheme.ValueBased
|
const [colorScheme, setColorScheme] = useState<ColorScheme | ColorSchemeDiff>(defaultColorScheme);
|
||||||
);
|
|
||||||
useEffect(() => {
|
|
||||||
if (
|
|
||||||
dataContainer?.isDiffFlamegraph() &&
|
|
||||||
(colorScheme === ColorScheme.ValueBased || colorScheme === ColorScheme.PackageBased)
|
|
||||||
) {
|
|
||||||
setColorScheme(ColorSchemeDiff.Default);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (
|
// This makes sure that if we change the data to/from diff profile we reset the color scheme.
|
||||||
!dataContainer?.isDiffFlamegraph() &&
|
useEffect(() => {
|
||||||
(colorScheme === ColorSchemeDiff.Default || colorScheme === ColorSchemeDiff.DiffColorBlind)
|
setColorScheme(defaultColorScheme);
|
||||||
) {
|
}, [defaultColorScheme]);
|
||||||
setColorScheme(ColorScheme.ValueBased);
|
|
||||||
}
|
|
||||||
}, [dataContainer, colorScheme]);
|
|
||||||
|
|
||||||
return [colorScheme, setColorScheme] as const;
|
return [colorScheme, setColorScheme] as const;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -132,8 +132,8 @@ function ColorSchemeButton(props: ColorSchemeButtonProps) {
|
|||||||
const styles = getStyles(props.getTheme(), false);
|
const styles = getStyles(props.getTheme(), false);
|
||||||
let menu = (
|
let menu = (
|
||||||
<Menu>
|
<Menu>
|
||||||
<Menu.Item label="By value" onClick={() => props.onChange(ColorScheme.ValueBased)} />
|
|
||||||
<Menu.Item label="By package name" onClick={() => props.onChange(ColorScheme.PackageBased)} />
|
<Menu.Item label="By package name" onClick={() => props.onChange(ColorScheme.PackageBased)} />
|
||||||
|
<Menu.Item label="By value" onClick={() => props.onChange(ColorScheme.ValueBased)} />
|
||||||
</Menu>
|
</Menu>
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user