@grafana/flamegraph
Version:
Grafana flamegraph visualization component
40 lines (39 loc) • 1.7 kB
TypeScript
import { type DataFrame } from '@grafana/data';
import { type IconName } from '@grafana/ui';
import { type ClickedItemData, type PaneView, type SelectedView, type ViewMode } from '../types';
import { type CollapseConfig, type FlameGraphDataContainer } from './dataTransform';
export type GetExtraContextMenuButtonsFunction = (clickedItemData: ClickedItemData, data: DataFrame, state: {
selectedView?: SelectedView;
viewMode?: ViewMode;
paneView?: PaneView;
isDiff: boolean;
search: string;
collapseConfig?: CollapseConfig;
}) => ExtraContextMenuButton[];
export type ExtraContextMenuButton = {
label: string;
icon: IconName;
onClick: () => void;
};
type Props = {
data: FlameGraphDataContainer;
itemData: ClickedItemData;
onMenuItemClick: () => void;
onItemFocus: () => void;
onSandwich: () => void;
onExpandGroup: () => void;
onCollapseGroup: () => void;
onExpandAllGroups: () => void;
onCollapseAllGroups: () => void;
getExtraContextMenuButtons?: GetExtraContextMenuButtonsFunction;
collapseConfig?: CollapseConfig;
collapsing?: boolean;
allGroupsCollapsed?: boolean;
allGroupsExpanded?: boolean;
selectedView?: SelectedView;
viewMode?: ViewMode;
paneView?: PaneView;
search: string;
};
declare const FlameGraphContextMenu: ({ data, itemData, onMenuItemClick, onItemFocus, onSandwich, collapseConfig, onExpandGroup, onCollapseGroup, onExpandAllGroups, onCollapseAllGroups, getExtraContextMenuButtons, collapsing, allGroupsExpanded, allGroupsCollapsed, selectedView, viewMode, paneView, search, }: Props) => import("react/jsx-runtime").JSX.Element;
export default FlameGraphContextMenu;