mirror of https://github.com/grafana/grafana
Explore: Add opt-in config for Node Graph in Jaeger, Zipkin, and Tempo (#39958)
parent
4a91ceeb1e
commit
3a8d04603f
@ -0,0 +1,57 @@ |
|||||||
|
import React from 'react'; |
||||||
|
import { css } from '@emotion/css'; |
||||||
|
import { |
||||||
|
DataSourceJsonData, |
||||||
|
DataSourcePluginOptionsEditorProps, |
||||||
|
GrafanaTheme, |
||||||
|
updateDatasourcePluginJsonDataOption, |
||||||
|
} from '@grafana/data'; |
||||||
|
import { InlineField, InlineFieldRow, InlineSwitch, useStyles } from '@grafana/ui'; |
||||||
|
|
||||||
|
export interface NodeGraphOptions { |
||||||
|
enabled?: boolean; |
||||||
|
} |
||||||
|
|
||||||
|
export interface NodeGraphData extends DataSourceJsonData { |
||||||
|
nodeGraph?: NodeGraphOptions; |
||||||
|
} |
||||||
|
|
||||||
|
interface Props extends DataSourcePluginOptionsEditorProps<NodeGraphData> {} |
||||||
|
|
||||||
|
export function NodeGraphSettings({ options, onOptionsChange }: Props) { |
||||||
|
const styles = useStyles(getStyles); |
||||||
|
|
||||||
|
return ( |
||||||
|
<div className={styles.container}> |
||||||
|
<h3 className="page-heading">Node Graph</h3> |
||||||
|
<InlineFieldRow className={styles.row}> |
||||||
|
<InlineField |
||||||
|
tooltip="Enables the Node Graph visualization in the trace viewer." |
||||||
|
label="Enable Node Graph" |
||||||
|
labelWidth={26} |
||||||
|
> |
||||||
|
<InlineSwitch |
||||||
|
value={options.jsonData.nodeGraph?.enabled} |
||||||
|
onChange={(event: React.SyntheticEvent<HTMLInputElement>) => |
||||||
|
updateDatasourcePluginJsonDataOption({ onOptionsChange, options }, 'nodeGraph', { |
||||||
|
...options.jsonData.nodeGraph, |
||||||
|
enabled: event.currentTarget.checked, |
||||||
|
}) |
||||||
|
} |
||||||
|
/> |
||||||
|
</InlineField> |
||||||
|
</InlineFieldRow> |
||||||
|
</div> |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
const getStyles = (theme: GrafanaTheme) => ({ |
||||||
|
container: css` |
||||||
|
label: container; |
||||||
|
width: 100%; |
||||||
|
`,
|
||||||
|
row: css` |
||||||
|
label: row; |
||||||
|
align-items: baseline; |
||||||
|
`,
|
||||||
|
}); |
||||||
Loading…
Reference in new issue