import React from 'react'; import { Project } from './Project'; export interface Props { datasource: any; rawQuery: string; lastQueryError: string; } interface State { displayHelp: boolean; displaRawQuery: boolean; } export class Help extends React.Component { state: State = { displayHelp: false, displaRawQuery: false, }; onHelpClicked() { this.setState({ displayHelp: !this.state.displayHelp }); } onRawQueryClicked() { this.setState({ displaRawQuery: !this.state.displaRawQuery }); } shouldComponentUpdate(nextProps) { return nextProps.metricDescriptor !== null; } render() { const { displayHelp, displaRawQuery } = this.state; const { datasource, rawQuery, lastQueryError } = this.props; return ( <>
this.onHelpClicked()}>
{rawQuery && (
this.onRawQueryClicked()}>
)}
{rawQuery && displaRawQuery && (
{rawQuery}
)} {displayHelp && (
              
Alias Patterns
Format the legend keys any way you want by using alias patterns. Format the legend keys any way you want by using alias patterns.

Example: {`${'{{metricDescriptor.name}} - {{metricDescriptor.label.instance_name}}'}`}
Result:   cpu/usage_time - server1-europe-west-1

Patterns
  • {`${'{{metricDescriptor.type}}'}`} = metric type e.g. compute.googleapis.com/instance/cpu/usage_time
  • {`${'{{metricDescriptor.name}}'}`} = name part of metric e.g. instance/cpu/usage_time
  • {`${'{{metricDescriptor.service}}'}`} = service part of metric e.g. compute
  • {`${'{{metricDescriptor.label.label_name}}'}`} = Metric label metadata e.g. metricDescriptor.label.instance_name
  • {`${'{{resource.label.label_name}}'}`} = Resource label metadata e.g. resource.label.zone
)} {lastQueryError && (
{lastQueryError}
)} ); } }