import { DataSourceJsonData, DataSourcePluginOptionsEditorProps, GrafanaTheme, updateDatasourcePluginJsonDataOption, } from '@grafana/data'; import { InlineFormLabel, TagsInput, useStyles } from '@grafana/ui'; import { css } from 'emotion'; import React from 'react'; import { DataSourcePicker } from './Select/DataSourcePicker'; export interface TraceToLogsOptions { datasourceUid?: string; tags?: string[]; } export interface TraceToLogsData extends DataSourceJsonData { tracesToLogs?: TraceToLogsOptions; } interface Props extends DataSourcePluginOptionsEditorProps {} export function TraceToLogsSettings({ options, onOptionsChange }: Props) { const styles = useStyles(getStyles); return ( <>

Trace to logs

Trace to logs let's you navigate from a trace span to the selected data source's log.
Data source updateDatasourcePluginJsonDataOption({ onOptionsChange, options }, 'tracesToLogs', { datasourceUid: ds.uid, tags: options.jsonData.tracesToLogs?.tags, }) } />
Tags updateDatasourcePluginJsonDataOption({ onOptionsChange, options }, 'tracesToLogs', { datasourceUid: options.jsonData.tracesToLogs?.datasourceUid, tags: tags, }) } />
); } const getStyles = (theme: GrafanaTheme) => ({ infoText: css` padding-bottom: ${theme.spacing.md}; color: ${theme.colors.textSemiWeak}; `, });