diff --git a/public/app/features/dashboard/components/PanelEditor/state/selectors.ts b/public/app/features/dashboard/components/PanelEditor/state/selectors.ts index 0913a8f9be2..cea95a53496 100644 --- a/public/app/features/dashboard/components/PanelEditor/state/selectors.ts +++ b/public/app/features/dashboard/components/PanelEditor/state/selectors.ts @@ -43,7 +43,7 @@ export const getPanelEditorTabs = memoizeOne((location: LocationState, plugin?: }); } - const activeTab = tabs.find(item => item.id === (location.query.tab || defaultTab)); + const activeTab = tabs.find(item => item.id === location.query.tab || defaultTab) ?? tabs[0]; activeTab.active = true; return tabs; diff --git a/public/app/features/dashboard/dashgrid/PanelHeader/PanelHeader.tsx b/public/app/features/dashboard/dashgrid/PanelHeader/PanelHeader.tsx index 2b2122f5650..6feac428d11 100644 --- a/public/app/features/dashboard/dashgrid/PanelHeader/PanelHeader.tsx +++ b/public/app/features/dashboard/dashgrid/PanelHeader/PanelHeader.tsx @@ -101,7 +101,7 @@ export class PanelHeader extends Component { e.stopPropagation(); updateLocation({ - query: { inspect: panel.id, tab }, + query: { inspect: panel.id, inspectTab: tab }, partial: true, }); }; @@ -110,7 +110,7 @@ export class PanelHeader extends Component { return ( {notice.inspect ? ( -
this.openInspect(e, notice.inspect!)}> +
this.openInspect(e, notice.inspect!)}>
) : ( diff --git a/public/app/plugins/datasource/graphite/MetricTankMetaInspector.tsx b/public/app/plugins/datasource/graphite/MetricTankMetaInspector.tsx index de20d5d0ec6..2159fb85e65 100644 --- a/public/app/plugins/datasource/graphite/MetricTankMetaInspector.tsx +++ b/public/app/plugins/datasource/graphite/MetricTankMetaInspector.tsx @@ -30,7 +30,10 @@ export class MetricTankMetaInspector extends PureComponent { return (
-
Schema: {meta['schema-name']}
+
+ Schema: {meta['schema-name']} +
Series count: {meta.count}
+
Step 1: Fetch
@@ -97,7 +100,12 @@ export class MetricTankMetaInspector extends PureComponent { for (const metaItem of series.meta.custom.seriesMetaList as MetricTankSeriesMeta[]) { // key is to dedupe as many series will have identitical meta const key = `${metaItem['schema-name']}-${metaItem['archive-read']}`; - seriesMetas[key] = metaItem; + + if (seriesMetas[key]) { + seriesMetas[key].count += metaItem.count; + } else { + seriesMetas[key] = metaItem; + } } } } @@ -108,7 +116,7 @@ export class MetricTankMetaInspector extends PureComponent { return (
-

Aggregation & rollup

+

Metrictank Lineage

{Object.keys(seriesMetas).map(key => this.renderMeta(seriesMetas[key], key))}
); @@ -131,6 +139,8 @@ const getStyles = stylesFactory(() => { background: ${headerBg}; padding: ${theme.spacing.xs} ${theme.spacing.md}; font-size: ${theme.typography.size.md}; + display: flex; + justify-content: space-between; `, metaItemBody: css` padding: ${theme.spacing.md};