import { css } from '@emotion/css'; import React from 'react'; import { GrafanaTheme2, DataSourceInstanceSettings } from '@grafana/data'; import { ConfigSection } from '@grafana/experimental'; import { Alert, Field, InlineField, useStyles2 } from '@grafana/ui'; import { DataSourcePicker } from 'app/features/datasources/components/picker/DataSourcePicker'; import { getDatasourceSrv } from 'app/features/plugins/datasource_srv'; const getStyles = (theme: GrafanaTheme2) => ({ infoText: css` padding-bottom: ${theme.spacing(2)}; color: ${theme.colors.text.secondary}; `, }); interface Props { datasourceUid?: string; onChange: (uid: string) => void; newFormStyling?: boolean; } const xRayDsId = 'grafana-x-ray-datasource'; export function XrayLinkConfig({ newFormStyling, datasourceUid, onChange }: Props) { const hasXrayDatasource = Boolean(getDatasourceSrv().getList({ pluginId: xRayDsId }).length); const styles = useStyles2(getStyles); return newFormStyling ? ( {!hasXrayDatasource && ( )} onChange(ds.uid)} current={datasourceUid} noDefault={true} /> ) : ( <>

X-ray trace link

Grafana will automatically create a link to a trace in X-ray data source if logs contain @xrayTraceId field
{!hasXrayDatasource && ( )}
onChange(ds.uid)} current={datasourceUid} noDefault={true} />
); }