k8s.io/test-infra@v0.0.0-20240520184403-27c6b4c223d8/config/prow/cluster/monitoring/mixins/grafana_dashboards/plank.jsonnet (about)

     1  local grafana = import 'grafonnet/grafana.libsonnet';
     2  local dashboard = grafana.dashboard;
     3  local graphPanel = grafana.graphPanel;
     4  local prometheus = grafana.prometheus;
     5  local template = grafana.template;
     6  
     7  local legendConfig = {
     8          legend+: {
     9              sideWidth: 250
    10          },
    11      };
    12  
    13  local dashboardConfig = {
    14          uid: 'e1778910572e3552a935c2035ce80369',
    15      };
    16  
    17  dashboard.new(
    18          'plank dashboard',
    19          time_from='now-1h',
    20          schemaVersion=18,
    21        )
    22  .addTemplate(
    23    template.new(
    24      'cluster',
    25      'prometheus',
    26      'label_values(prowjobs{job=~"plank|prow-controller-manager"}, cluster)',
    27      label='cluster',
    28      allValues='.*',
    29      includeAll=true,
    30      refresh='time',
    31    )
    32  )
    33  .addTemplate(
    34    template.new(
    35      'org',
    36      'prometheus',
    37      'label_values(prowjobs{job=~"plank|prow-controller-manager"}, org)',
    38      label='org',
    39      allValues='.*',
    40      includeAll=true,
    41      refresh='time',
    42    )
    43  )
    44  .addTemplate(
    45    template.new(
    46      'repo',
    47      'prometheus',
    48      'label_values(prowjobs{job=~"plank|prow-controller-manager"}, repo)',
    49      label='repo',
    50      allValues='.*',
    51      includeAll=true,
    52      refresh='time',
    53    )
    54  )
    55  .addTemplate(
    56    template.custom(
    57      'state',
    58      'all,aborted,error,failure,pending,success,triggered',
    59      'all',
    60      label='state',
    61      includeAll=true,
    62      allValues='.*',
    63    )
    64  )
    65  .addTemplate(
    66    template.custom(
    67      'type',
    68      'all,batch,periodic,presubmit,postsubmit',
    69      'all',
    70      label='type',
    71      includeAll=true,
    72      allValues='.*',
    73    )
    74  )
    75  .addTemplate(
    76    template.custom(
    77      'group_by_1',
    78      'cluster,org,repo,state,type',
    79      'type',
    80      label='group_by_1',
    81      allValues='.*',
    82    )
    83  )
    84  .addTemplate(
    85    template.custom(
    86      'group_by_2',
    87      'cluster,org,repo,state,type',
    88      'state',
    89      label='group_by_2',
    90      allValues='.*',
    91    )
    92  )
    93  .addTemplate(
    94    template.custom(
    95      'group_by_3',
    96      'cluster,org,repo,state,type',
    97      'cluster',
    98      label='group_by_3',
    99      allValues='.*',
   100    )
   101  )
   102  .addPanel(
   103      (graphPanel.new(
   104          'number of Prow jobs (stacked) by ${group_by_1}',
   105          description='sum(prowjobs{...}) by (${group_by_1})',
   106          datasource='prometheus',
   107          stack=true,
   108          legend_alignAsTable=true,
   109          legend_rightSide=true,
   110  
   111      ) + legendConfig)
   112      .addTarget(prometheus.target(
   113          'sum(prowjobs{job=~"plank|prow-controller-manager",cluster=~"${cluster}",org=~"${org}",repo=~"${repo}",state=~"${state}",type=~"${type}"}) by (${group_by_1})',
   114          legendFormat='{{${group_by_1}}}',
   115      )), gridPos={
   116      h: 9,
   117      w: 24,
   118      x: 0,
   119      y: 9,
   120    })
   121  .addPanel(
   122      (graphPanel.new(
   123          'number of Prow jobs (stacked) by ${group_by_2}',
   124          description='sum(prowjobs{...}) by (${group_by_2})',
   125          datasource='prometheus',
   126          stack=true,
   127          legend_alignAsTable=true,
   128          legend_rightSide=true,
   129  
   130      ) + legendConfig)
   131      .addTarget(prometheus.target(
   132          'sum(prowjobs{job=~"plank|prow-controller-manager",cluster=~"${cluster}",org=~"${org}",repo=~"${repo}",state=~"${state}",type=~"${type}"}) by (${group_by_2})',
   133          legendFormat='{{${group_by_2}}}',
   134      )), gridPos={
   135      h: 9,
   136      w: 24,
   137      x: 0,
   138      y: 9,
   139    })
   140  .addPanel(
   141      (graphPanel.new(
   142          'number of Prow jobs (stacked) by ${group_by_3}',
   143          description='sum(prowjobs{...}) by (${group_by_3})',
   144          datasource='prometheus',
   145          stack=true,
   146          legend_alignAsTable=true,
   147          legend_rightSide=true,
   148  
   149      ) + legendConfig)
   150      .addTarget(prometheus.target(
   151          'sum(prowjobs{job=~"plank|prow-controller-manager",cluster=~"${cluster}",org=~"${org}",repo=~"${repo}",state=~"${state}",type=~"${type}"}) by (${group_by_3})',
   152          legendFormat='{{${group_by_3}}}',
   153      )), gridPos={
   154      h: 9,
   155      w: 24,
   156      x: 0,
   157      y: 9,
   158    })
   159  + dashboardConfig