Work in Progress: This page is under development. Use the feedback button on the bottom right to help us improve it.

Mock

Mock data sources for testing.

Connection Profile

No connection profile needed.

Connection Table

  • source_type (string, required): "query_history" | "schema_driven"
  • query_history (object, optional): Query History Configuration
    • event_rate (number, required): Events to generate per second
    • runtime (number, optional): Source will finish after this many seconds
    • failure_prob (number, optional): Probability that a query ends in FAILED (0-1, default 0.05)
    • fixed_query_id (string, optional): Generate events for exactly this query id
  • schema_driven (object, optional): Schema-Driven Mock Configuration
    • name (string, required): Name of the schema
    • fields (array, required): Field definitions
      • name (string, required): Field name
      • type (string, required): "boolean" | "int" | "int32" | "int64" | "float" | "float32" | "float64" | "string" | "timestamp" | "json"
      • nullable (boolean, optional): Whether field can be null (default false)
      • generator (object, required): Data generator configuration (constant, sequence, uuid, range, enum, faker, datetime, relative, template, array, struct)
    • generation (object, required): Generation mode
      • Batch mode:
        • mode (string): "batch"
        • total (number, required): Total records to generate
        • batch_size (number, optional): Batch size
      • Streaming mode:
        • mode (string): "streaming"
        • rate (number, required): Records per second
        • runtime (number, optional): Runtime in seconds
    • constraints (array, optional): Constraints to apply (unique, conditional)
    • seed (number, optional): Random seed for reproducible data

JSON Schema Reference

Connection Table Schema

{
  "type": "object",
  "title": "MockTable",
  "properties": {
    "source_type": {
      "title": "Mock Source Type",
      "type": "string",
      "enum": ["query_history", "schema_driven"],
      "default": "query_history",
      "description": "Type of mock data source to generate"
    },
    "query_history": {
      "type": "object",
      "title": "Query History Configuration",
      "properties": {
        "event_rate": {
          "title": "Event rate (messages / sec)",
          "type": "number",
          "minimum": 0,
          "description": "Number of events to generate per second"
        },
        "runtime": {
          "title": "Runtime (seconds)",
          "type": "number",
          "description": "If set, the source will finish after this many seconds"
        },
        "failure_prob": {
          "title": "Failure probability",
          "type": "number",
          "minimum": 0,
          "maximum": 1,
          "default": 0.05,
          "description": "Probability that a query ends in FAILED"
        },
        "fixed_query_id": {
          "title": "Fixed query id",
          "type": "string",
          "description": "If set, generate events for exactly this query id"
        }
      },
      "required": ["event_rate"]
    },
    "schema_driven": {
      "type": "object",
      "title": "Schema-Driven Mock Configuration",
      "description": "Define custom schema and data generation rules",
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the schema"
        },
        "fields": {
          "type": "array",
          "description": "Field definitions",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "Field name"
              },
              "type": {
                "type": "string",
                "enum": ["boolean", "int", "int32", "int64", "float", "float32", "float64", "string", "timestamp", "json"],
                "description": "Field data type"
              },
              "nullable": {
                "type": "boolean",
                "default": false,
                "description": "Whether the field can be null"
              },
              "generator": {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "generator_type": {"const": "constant"},
                      "value": {}
                    },
                    "required": ["generator_type", "value"]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "generator_type": {"const": "sequence"},
                      "start": {"type": "number"},
                      "increment": {"type": "number", "default": 1}
                    },
                    "required": ["generator_type", "start"]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "generator_type": {"const": "uuid"}
                    },
                    "required": ["generator_type"]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "generator_type": {"const": "range"},
                      "min": {"type": "number"},
                      "max": {"type": "number"},
                      "distribution": {"type": "string", "enum": ["uniform", "normal"], "default": "uniform"}
                    },
                    "required": ["generator_type", "min", "max"]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "generator_type": {"const": "enum"},
                      "values": {"type": "array"},
                      "weights": {"type": "array", "items": {"type": "number"}}
                    },
                    "required": ["generator_type", "values"]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "generator_type": {"const": "faker"},
                      "method": {"type": "string"},
                      "locale": {"type": "string", "default": "en"}
                    },
                    "required": ["generator_type", "method"]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "generator_type": {"const": "datetime"},
                      "start": {"type": "string"},
                      "end": {"type": "string"},
                      "format": {"type": "string"}
                    },
                    "required": ["generator_type"]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "generator_type": {"const": "relative"},
                      "base": {"type": "string"},
                      "offset": {"type": "string"}
                    },
                    "required": ["generator_type", "base", "offset"]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "generator_type": {"const": "template"},
                      "template": {}
                    },
                    "required": ["generator_type", "template"]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "generator_type": {"const": "array"},
                      "length": {
                        "oneOf": [
                          {"type": "number"},
                          {
                            "type": "object",
                            "properties": {
                              "min": {"type": "number"},
                              "max": {"type": "number"}
                            },
                            "required": ["min", "max"]
                          }
                        ]
                      },
                      "element": {"type": "object"}
                    },
                    "required": ["generator_type", "length", "element"]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "generator_type": {"const": "struct"},
                      "fields": {"type": "array"}
                    },
                    "required": ["generator_type", "fields"]
                  }
                ]
              }
            },
            "required": ["name", "type", "generator"]
          }
        },
        "generation": {
          "type": "object",
          "oneOf": [
            {
              "properties": {
                "mode": {"const": "batch"},
                "total": {"type": "number", "minimum": 1},
                "batch_size": {"type": "number", "minimum": 1}
              },
              "required": ["mode", "total"]
            },
            {
              "properties": {
                "mode": {"const": "streaming"},
                "rate": {"type": "number", "minimum": 0},
                "runtime": {"type": "number", "minimum": 0}
              },
              "required": ["mode", "rate"]
            }
          ]
        },
        "constraints": {
          "type": "array",
          "description": "Constraints to apply to the generated data",
          "items": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "type": {"const": "unique"},
                  "fields": {
                    "type": "array",
                    "items": {"type": "string"},
                    "minItems": 1
                  }
                },
                "required": ["type", "fields"]
              },
              {
                "type": "object",
                "properties": {
                  "type": {"const": "conditional"},
                  "condition": {"type": "string"},
                  "then": {"type": "object"}
                },
                "required": ["type", "condition", "then"]
              }
            ]
          }
        },
        "seed": {
          "type": "number",
          "description": "Random seed for reproducible data generation"
        }
      },
      "required": ["name", "fields", "generation"]
    }
  },
  "required": ["source_type"],
  "additionalProperties": false
}