payload:
  keyedHistograms:
    match:
      table_group: keyed_histograms
      type: histogram
      details:
        keyed: true
        record_in_processes:
          contains: main
  histograms:
    match:
      table_group: histograms
      type: histogram
      details:
        keyed: false
        record_in_processes:
          contains: main

  processes:
    parent:
      scalars:
        match:
          table_group: scalars
          type: scalar
          details:
            keyed: false
            record_in_processes:
              contains: main
      keyedScalars:
        match:
          table_group: keyed_scalars
          type: scalar
          details:
            keyed: true
            record_in_processes:
              contains: main

    content:
      histograms:
        match:
          table_group: histograms
          type: histogram
          details:
            keyed: false
            record_in_processes:
              contains: content
      keyedHistograms:
        match:
          table_group: keyed_histograms
          type: histogram
          details:
            keyed: true
            record_in_processes:
              contains: content
      scalars:
        match:
          table_group: scalars
          type: scalar
          details:
            keyed: false
            record_in_processes:
              contains: content
      keyedScalars:
        match:
          table_group: keyed_scalars
          type: scalar
          details:
            keyed: true
            record_in_processes:
              contains: content

    gpu:
      histograms:
        match:
          table_group: histograms
          type: histogram
          details:
            # https://bugzilla.mozilla.org/show_bug.cgi?id=1597782
            # This had accidentally been set to "keyed: true". It would be an incompatible
            # schema change to remove the keyed histogram fields, so don't.
            # keyed: false
            record_in_processes:
              contains: gpu
      keyedHistograms:
        match:
          table_group: keyed_histograms
          type: histogram
          details:
            keyed: true
            record_in_processes:
              contains: gpu
      scalars:
        match:
          table_group: scalars
          type: scalar
          details:
            keyed: false
            record_in_processes:
              contains: gpu
      keyedScalars:
        match:
          table_group: keyed_scalars
          type: scalar
          details:
            keyed: true
            record_in_processes:
              contains: gpu

    extension:
      histograms:
        match:
          table_group: histograms
          type: histogram
          details:
            keyed: true
            record_in_processes:
              contains: extension
      keyedHistograms:
        match:
          table_group: keyed_histograms
          type: histogram
          details:
            keyed: true
            record_in_processes:
              contains: extension
      scalars:
        match:
          table_group: scalars
          type: scalar
          details:
            keyed: false
            record_in_processes:
              contains: extension
      keyedScalars:
        match:
          table_group: keyed_scalars
          type: scalar
          details:
            keyed: true
            record_in_processes:
              contains: extension

    dynamic:
      histograms:
        match:
          table_group: histograms
          type: histogram
          details:
            keyed: true
            record_in_processes:
              contains: dynamic
      keyedHistograms:
        match:
          table_group: keyed_histograms
          type: histogram
          details:
            keyed: true
            record_in_processes:
              contains: dynamic
      scalars:
        match:
          table_group: scalars
          type: scalar
          details:
            keyed: false
            record_in_processes:
              contains: dynamic
      keyedScalars:
        match:
          table_group: keyed_scalars
          type: scalar
          details:
            keyed: true
            record_in_processes:
              contains: dynamic

    socket:
      histograms:
        match:
          table_group: histograms
          type: histogram
          details:
            keyed: true
            record_in_processes:
              contains: socket
      keyedHistograms:
        match:
          table_group: keyed_histograms
          type: histogram
          details:
            keyed: true
            record_in_processes:
              contains: socket
      scalars:
        match:
          table_group: scalars
          type: scalar
          details:
            keyed: false
            record_in_processes:
              contains: socket
      keyedScalars:
        match:
          table_group: keyed_scalars
          type: scalar
          details:
            keyed: true
            record_in_processes:
              contains: socket
