monitor_schema.models.ColumnMatrix#

class monitor_schema.models.ColumnMatrix[source]#

Define the matrix of columns and segments to fan out for monitoring.

Show JSON schema
{
   "title": "ColumnMatrix",
   "description": "Define the matrix of columns and segments to fan out for monitoring.",
   "type": "object",
   "properties": {
      "segments": {
         "title": "Segments",
         "description": "List of targeted segments. If not set, default to the overall segment",
         "maxItems": 1000,
         "type": "array",
         "items": {
            "$ref": "#/definitions/Segment"
         }
      },
      "type": {
         "title": "Type",
         "enum": [
            "column"
         ],
         "type": "string"
      },
      "include": {
         "title": "Include",
         "description": "List of allowed fields/features/columns. Could be a grouping as well.",
         "maxItems": 1000,
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/ColumnGroups"
               },
               {
                  "type": "string",
                  "maxLength": 1000
               }
            ]
         }
      },
      "exclude": {
         "title": "Exclude",
         "description": "List of blocked fields/features/columns. Could be a grouping as well. This setting is evaluated AFTER the 'include' field and thus should be used with caution.",
         "maxItems": 1000,
         "type": "array",
         "items": {
            "anyOf": [
               {
                  "$ref": "#/definitions/ColumnGroups"
               },
               {
                  "type": "string",
                  "maxLength": 1000
               }
            ]
         }
      }
   },
   "required": [
      "type"
   ],
   "additionalProperties": false,
   "definitions": {
      "SegmentTag": {
         "title": "SegmentTag",
         "description": "A single tag key value pair for a segment.",
         "type": "object",
         "properties": {
            "key": {
               "title": "Key",
               "maxLength": 1000,
               "type": "string"
            },
            "value": {
               "title": "Value",
               "maxLength": 1000,
               "type": "string"
            }
         },
         "required": [
            "key",
            "value"
         ],
         "additionalProperties": false
      },
      "Segment": {
         "title": "Segment",
         "description": "A segment is a list of tags.\n\nWe normalize these in the backend.",
         "type": "object",
         "properties": {
            "tags": {
               "title": "Tags",
               "description": "List of tags that define the specific segment",
               "maxItems": 10,
               "type": "array",
               "items": {
                  "$ref": "#/definitions/SegmentTag"
               }
            }
         },
         "required": [
            "tags"
         ],
         "additionalProperties": false
      },
      "ColumnGroups": {
         "title": "ColumnGroups",
         "description": "Standard column groupings.",
         "enum": [
            "group:continuous",
            "group:discrete",
            "group:input",
            "group:output",
            "group:bool",
            "group:int",
            "group:frac",
            "group:str"
         ],
         "type": "string"
      }
   }
}

Fields
field exclude: Optional[List[Union[ColumnGroups, ConstrainedStrValue]]] = None#

List of blocked fields/features/columns. Could be a grouping as well. This setting is evaluated AFTER the ‘include’ field and thus should be used with caution.

Constraints
  • maxItems = 1000

field include: Optional[List[Union[ColumnGroups, ConstrainedStrValue]]] = None#

List of allowed fields/features/columns. Could be a grouping as well.

Constraints
  • maxItems = 1000

field type: column: 'column'>] [Required]#