resource "datadog_dashboard_json" "ameba_gql_dashboard_json" {
  dashboard = jsonencode({
    title       = "AMEBA GQL Dashboard"
    description = "[[suggested_dashboards]] (cloned)"
    widgets = [
      {
        id = 8205070038526366
        definition = {
          title       = "Queries : By Username"
          title_size  = "16"
          title_align = "left"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  query       = "sum:sonymusic.gql.metadata_import_history.counter{$namespace,$pod} by {username}.as_count()"
                  data_source = "metrics"
                  name        = "query2"
                  aggregator  = "sum"
                },
                {
                  query       = "sum:sonymusic.gql.asset_details.counter{$namespace,$pod} by {username}.as_count()"
                  data_source = "metrics"
                  name        = "query1"
                  aggregator  = "sum"
                },
                {
                  query       = "sum:sonymusic.gql.aoma_product_asset_link.counter{$namespace,$pod} by {username}.as_count()"
                  data_source = "metrics"
                  name        = "query3"
                  aggregator  = "sum"
                },
                {
                  query       = "sum:sonymusic.gql.publish_ready_info.counter{$namespace,$pod} by {username}.as_count()"
                  data_source = "metrics"
                  name        = "query4"
                  aggregator  = "sum"
                }
              ]
              style = {
                palette = "datadog16"
              }
              formulas = [
                {
                  formula = "query2 + query1 + query3 + query4"
                }
              ]
              sort = {
                order_by = [
                  {
                    type  = "formula"
                    index = 0
                    order = "desc"
                  }
                ]
                count = 500
              }
            }
          ]
          type = "sunburst"
          legend = {
            type = "automatic"
          }
        }
        layout = {
          x      = 0
          y      = 0
          width  = 2
          height = 3
        }
      },
      {
        id = 4775941794317002
        definition = {
          title       = "Query :Metadata Import History : User"
          title_size  = "16"
          title_align = "left"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query0"
                  query       = "sum:sonymusic.gql.metadata_import_history.counter{$namespace, $pod} by {username}.as_count()"
                  aggregator  = "sum"
                }
              ]
              style = {
                palette = "datadog16"
              }
              formulas = [
                {
                  formula = "query0"
                }
              ]
            }
          ]
          type = "sunburst"
        }
        layout = {
          x      = 2
          y      = 0
          width  = 2
          height = 3
        }
      },
      {
        id = 3591219958634164
        definition = {
          title       = "Query : Asset Details : User"
          title_size  = "16"
          title_align = "left"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  query       = "sum:sonymusic.gql.asset_details.counter{$namespace,$pod} by {username}.as_count()"
                  data_source = "metrics"
                  name        = "query8"
                  aggregator  = "sum"
                }
              ]
              style = {
                palette = "datadog16"
              }
              formulas = [
                {
                  formula = "query8"
                }
              ]
              sort = {
                count = 500
                order_by = [
                  {
                    type  = "formula"
                    index = 0
                    order = "desc"
                  }
                ]
              }
            }
          ]
          type = "sunburst"
          legend = {
            type = "automatic"
          }
        }
        layout = {
          x      = 4
          y      = 0
          width  = 2
          height = 3
        }
      },
      {
        id = 572089892407504
        definition = {
          title       = "Query : Asset Product Links"
          title_size  = "16"
          title_align = "left"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query0"
                  query       = "sum:sonymusic.gql.aoma_product_asset_link.counter{$namespace} by {username}.as_count()"
                  aggregator  = "sum"
                }
              ]
              style = {
                palette = "datadog16"
              }
              formulas = [
                {
                  formula = "query0"
                }
              ]
            }
          ]
          type = "sunburst"
        }
        layout = {
          x      = 6
          y      = 0
          width  = 2
          height = 3
        }
      },
      {
        id = 1249414336474100
        definition = {
          title       = "Query: Publish : User"
          title_size  = "16"
          title_align = "left"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query0"
                  query       = "sum:sonymusic.gql.publish_ready_info.counter{$pod,$namespace} by {username}.as_count()"
                  aggregator  = "sum"
                }
              ]
              style = {
                palette = "datadog16"
              }
              formulas = [
                {
                  formula = "query0"
                }
              ]
            }
          ]
          type = "sunburst"
        }
        layout = {
          x      = 8
          y      = 0
          width  = 2
          height = 3
        }
      },
      {
        id = 6113960674452502
        definition = {
          title       = "Mutation:Metadata Import "
          title_size  = "16"
          title_align = "left"
          requests = [
            {
              response_format = "scalar"
              queries = [
                {
                  data_source = "metrics"
                  name        = "query0"
                  query       = "sum:sonymusic.gql.metadata_import.counter{$pod,$namespace} by {username}.as_count()"
                  aggregator  = "sum"
                }
              ]
              style = {
                palette = "datadog16"
              }
              formulas = [
                {
                  formula = "query0"
                }
              ]
            }
          ]
          type = "sunburst"
        }
        layout = {
          x      = 10
          y      = 0
          width  = 2
          height = 3
        }
      },
      {
        id = 7542603706335044
        definition = {
          title         = "Metadata Import History Query Counter"
          title_size    = "16"
          title_align   = "left"
          show_legend   = true
          legend_layout = "auto"
          legend_columns = [
            "avg",
            "min",
            "max",
            "value",
            "sum"
          ]
          type = "timeseries"
          requests = [
            {
              formulas = [
                {
                  formula = "query0"
                }
              ]
              queries = [
                {
                  data_source = "metrics"
                  name        = "query0"
                  query       = "sum:sonymusic.gql.metadata_import_history.counter{$pod,$namespace} by {pod,namespace,service_name,username}.as_count()"
                }
              ]
              response_format = "timeseries"
              style = {
                palette    = "dog_classic"
                line_type  = "solid"
                line_width = "normal"
              }
              display_type = "line"
            }
          ]
        }
        layout = {
          x      = 2
          y      = 3
          width  = 2
          height = 3
        }
      },
      {
        id = 1493636288774370
        definition = {
          title         = "Asset Details Query Counter"
          title_size    = "16"
          title_align   = "left"
          show_legend   = true
          legend_layout = "auto"
          legend_columns = [
            "avg",
            "min",
            "max",
            "value",
            "sum"
          ]
          type = "timeseries"
          requests = [
            {
              formulas = [
                {
                  formula = "query0"
                }
              ]
              queries = [
                {
                  data_source = "metrics"
                  name        = "query0"
                  query       = "sum:sonymusic.gql.asset_details.counter{$pod, $namespace} by {pod,namespace,service_name,username}.as_count()"
                }
              ]
              response_format = "timeseries"
              style = {
                palette    = "dog_classic"
                line_type  = "solid"
                line_width = "normal"
              }
              display_type = "line"
            }
          ]
        }
        layout = {
          x      = 4
          y      = 3
          width  = 2
          height = 3
        }
      },
      {
        id = 6313658578536720
        definition = {
          title         = "Product Asset Links Counter"
          title_size    = "16"
          title_align   = "left"
          show_legend   = true
          legend_layout = "auto"
          legend_columns = [
            "avg",
            "min",
            "max",
            "value",
            "sum"
          ]
          type = "timeseries"
          requests = [
            {
              formulas = [
                {
                  formula = "query0"
                }
              ]
              queries = [
                {
                  data_source = "metrics"
                  name        = "query0"
                  query       = "sum:sonymusic.gql.aoma_product_asset_link.counter{$pod,$namespace} by {pod,namespace,service_name,username}.as_count()"
                }
              ]
              response_format = "timeseries"
              style = {
                palette    = "dog_classic"
                line_type  = "solid"
                line_width = "normal"
              }
              display_type = "line"
            }
          ]
        }
        layout = {
          x      = 6
          y      = 3
          width  = 2
          height = 3
        }
      },
      {
        id = 3198097621050598
        definition = {
          title         = "Publish Ready Counter"
          title_size    = "16"
          title_align   = "left"
          show_legend   = true
          legend_layout = "auto"
          legend_columns = [
            "avg",
            "min",
            "max",
            "value",
            "sum"
          ]
          type = "timeseries"
          requests = [
            {
              formulas = [
                {
                  formula = "query0"
                }
              ]
              queries = [
                {
                  data_source = "metrics"
                  name        = "query0"
                  query       = "sum:sonymusic.gql.publish_ready_info.counter{$pod,$namespace} by {application,namespace,pod,username}.as_count()"
                }
              ]
              response_format = "timeseries"
              style = {
                palette    = "dog_classic"
                line_type  = "solid"
                line_width = "normal"
              }
              display_type = "line"
            }
          ]
        }
        layout = {
          x      = 8
          y      = 3
          width  = 2
          height = 3
        }
      },
      {
        id = 147178462257462
        definition = {
          title         = "Mutation : Metadata Import"
          title_size    = "16"
          title_align   = "left"
          show_legend   = true
          legend_layout = "auto"
          legend_columns = [
            "avg",
            "min",
            "max",
            "value",
            "sum"
          ]
          type = "timeseries"
          requests = [
            {
              formulas = [
                {
                  formula = "query0"
                }
              ]
              queries = [
                {
                  data_source = "metrics"
                  name        = "query0"
                  query       = "sum:sonymusic.gql.metadata_import.counter{$pod,$namespace} by {pod,namespace,service_name,username}.as_count()"
                }
              ]
              response_format = "timeseries"
              style = {
                palette    = "dog_classic"
                line_type  = "solid"
                line_width = "normal"
              }
              display_type = "line"
            }
          ]
        }
        layout = {
          x      = 10
          y      = 3
          width  = 2
          height = 3
        }
      }
    ]
    template_variables = [
      {
        name             = "pod"
        prefix           = "pod"
        available_values = []
        default          = "*"
      },
      {
        name             = "namespace"
        prefix           = "namespace"
        available_values = ["ameba-prod", "ameba-dev", "ameba-stage"]
        default          = "ameba-prod"
      }
    ]
    layout_type        = "ordered"
    notify_list        = []
    pause_auto_refresh = false
    reflow_type        = "fixed"
    tags               = ["team:ameba-team", "team:aoma-amp-del-data"]
  })
}
