mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 09:05:45 -06:00
* tracing: show backend trace ids in frontend * better trace id naming Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com> * better trace id naming Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com> * better trace id naming Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com> * added feature flag * bind functionality to the feature flag * use non-generic name for traceid header * fixed tests * loki: do not create empty fields * do not add empty fields * fixed graphite test mock data * added unit-tests to queryResponse * added unit-tests for backend_srv * more typescript-friendly check * added unit-tests for runRequest --------- Co-authored-by: Sven Grossmann <sven.grossmann@grafana.com>
48 lines
1.0 KiB
TypeScript
48 lines
1.0 KiB
TypeScript
import { css } from '@emotion/css';
|
|
import React from 'react';
|
|
|
|
import { GrafanaTheme2 } from '@grafana/data';
|
|
import { stylesFactory, useTheme2 } from '@grafana/ui';
|
|
|
|
type Props = {
|
|
name: string;
|
|
traceIds: string[];
|
|
};
|
|
|
|
export const InspectStatsTraceIdsTable = ({ name, traceIds }: Props) => {
|
|
const theme = useTheme2();
|
|
const styles = getStyles(theme);
|
|
|
|
if (traceIds.length === 0) {
|
|
return null;
|
|
}
|
|
|
|
return (
|
|
<div className={styles.wrapper}>
|
|
<div className="section-heading">{name}</div>
|
|
<table className="filter-table width-30">
|
|
<tbody>
|
|
{traceIds.map((traceId, index) => {
|
|
return (
|
|
<tr key={`${traceId}-${index}`}>
|
|
<td>{traceId}</td>
|
|
</tr>
|
|
);
|
|
})}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
);
|
|
};
|
|
|
|
const getStyles = stylesFactory((theme: GrafanaTheme2) => {
|
|
return {
|
|
wrapper: css`
|
|
padding-bottom: ${theme.spacing(2)};
|
|
`,
|
|
cell: css`
|
|
text-align: right;
|
|
`,
|
|
};
|
|
});
|