Selaa lähdekoodia

fix(loki): Hide empty labels column

Signed-off-by: Steven Sheehy <ssheehy@firescope.com>
Steven Sheehy 6 vuotta sitten
vanhempi
commit
dd388ed578

+ 1 - 0
public/app/core/logs_model.ts

@@ -77,6 +77,7 @@ export interface LogsMetaItem {
 }
 
 export interface LogsModel {
+  hasUniqueLabels: boolean;
   id: string; // Identify one logs result from another
   meta?: LogsMetaItem[];
   rows: LogRowModel[];

+ 1 - 1
public/app/features/explore/LogRow.tsx

@@ -13,7 +13,7 @@ interface Props {
   highlighterExpressions?: string[];
   row: LogRowModel;
   showDuplicates: boolean;
-  showLabels: boolean | null; // Tristate: null means auto
+  showLabels: boolean;
   showLocalTime: boolean;
   showUtc: boolean;
   getRows: () => LogRowModel[];

+ 3 - 2
public/app/features/explore/Logs.tsx

@@ -169,6 +169,7 @@ export default class Logs extends PureComponent<Props, State> {
     const { deferLogs, renderAll, showLabels, showLocalTime, showUtc } = this.state;
     const { dedupStrategy } = this.props;
     const hasData = data && data.rows && data.rows.length > 0;
+    const hasLabel = hasData && dedupedData.hasUniqueLabels;
     const dedupCount = dedupedData.rows.reduce((sum, row) => sum + row.duplicates, 0);
     const showDuplicates = dedupStrategy !== LogsDedupStrategy.none && dedupCount > 0;
     const meta = [...data.meta];
@@ -247,7 +248,7 @@ export default class Logs extends PureComponent<Props, State> {
                 highlighterExpressions={highlighterExpressions}
                 row={row}
                 showDuplicates={showDuplicates}
-                showLabels={showLabels}
+                showLabels={showLabels && hasLabel}
                 showLocalTime={showLocalTime}
                 showUtc={showUtc}
                 onClickLabel={onClickLabel}
@@ -262,7 +263,7 @@ export default class Logs extends PureComponent<Props, State> {
                 getRows={getRows}
                 row={row}
                 showDuplicates={showDuplicates}
-                showLabels={showLabels}
+                showLabels={showLabels && hasLabel}
                 showLocalTime={showLocalTime}
                 showUtc={showUtc}
                 onClickLabel={onClickLabel}

+ 3 - 0
public/app/plugins/datasource/loki/result_transformer.ts

@@ -175,6 +175,8 @@ export function mergeStreamsToLogs(streams: LogsStream[], limit = DEFAULT_MAX_LI
     .reverse()
     .value();
 
+  const hasUniqueLabels = sortedRows && sortedRows.some(row => Object.keys(row.uniqueLabels).length > 0);
+
   // Meta data to display in status
   const meta: LogsMetaItem[] = [];
   if (_.size(commonLabels) > 0) {
@@ -194,6 +196,7 @@ export function mergeStreamsToLogs(streams: LogsStream[], limit = DEFAULT_MAX_LI
 
   return {
     id,
+    hasUniqueLabels,
     meta,
     rows: sortedRows,
   };