Submit
Path:
~
/
/
usr
/
share
/
grafana
/
public
/
app
/
plugins
/
panel
/
flamegraph
/
File Content:
FlameGraphPanel.tsx
import React from 'react'; import { CoreApp, PanelProps } from '@grafana/data'; import { FlameGraph, checkFields, getMessageCheckFieldsResult } from '@grafana/flamegraph'; import { PanelDataErrorView, reportInteraction, config } from '@grafana/runtime'; function interaction(name: string, context: Record<string, string | number> = {}) { reportInteraction(`grafana_flamegraph_${name}`, { app: CoreApp.Unknown, grafana_version: config.buildInfo.version, ...context, }); } export const FlameGraphPanel = (props: PanelProps) => { const wrongFields = checkFields(props.data.series[0]); if (wrongFields) { return ( <PanelDataErrorView panelId={props.id} data={props.data} message={getMessageCheckFieldsResult(wrongFields)} /> ); } return ( <FlameGraph data={props.data.series[0]} stickyHeader={false} getTheme={() => config.theme2} showFlameGraphOnly={props.options?.showFlameGraphOnly ?? false} onTableSymbolClick={() => interaction('table_item_selected')} onViewSelected={(view: string) => interaction('view_selected', { view })} onTextAlignSelected={(align: string) => interaction('text_align_selected', { align })} onTableSort={(sort: string) => interaction('table_sort_selected', { sort })} disableCollapsing={!config.featureToggles.flameGraphItemCollapsing} /> ); };
Edit
Rename
Chmod
Delete
FILE
FOLDER
INFO
Name
Size
Permission
Action
img
---
0755
FlameGraphPanel.tsx
1374 bytes
0644
module.tsx
279 bytes
0644
plugin.json
277 bytes
0644
suggestions.ts
805 bytes
0644
N4ST4R_ID | Naxtarrr