{
	"helpUrl": {
		"en_US": "https://github.com/emqx/kuiper/blob/master/docs/en/rules/overview.md",
		"zh_CN": "https://github.com/emqx/kuiper/blob/master/docs/zh/rules/overview.md"
	},
	"properties": [{
		"name": "isEventTime",
		"default":false, 
		"optional": true,
		"control": "radio",
		"type": "bool",
		"hint": {
			"en_US": "Whether to use event time or processing time as the timestamp for an event. If event time is used, the timestamp will be extracted from the payload. The timestamp filed must be specified by the stream definition.",
			"zh_CN": "使用事件时间还是将时间用作事件的时间戳。 如果使用事件时间，则将从有效负载中提取时间戳。 必须通过 stream 定义指定时间戳记。"
		},
		"label": {
			"en_US": "IsEventTime",
			"zh_CN": "是否使用时间事件"
		}
	}, {
		"name": "lateTolerance",
		"default": 0,
		"optional": true,
		"control": "text",
		"type": "int",
		"hint": {
			"en_US": "When working with event-time windowing, it can happen that elements arrive late. LateTolerance can specify by how much time(unit is millisecond) elements can be late before they are dropped. By default, the value is 0 which means late elements are dropped.",
			"zh_CN": "在使用事件时间窗口时，可能会出现元素延迟到达的情况。 LateTolerance 可以指定在删除元素之前可以延迟多少时间（单位为 ms）。 默认情况下，该值为0，表示后期元素将被删除。"
		},
		"label": {
			"en_US": "LateTolerance",
			"zh_CN": "延迟多少毫秒"
		}
	}, {
		"name": "concurrency",
		"default": 1,
		"optional": true,
		"control": "text",
		"type": "int",
		"hint": {
			"en_US": "A rule is processed by several phases of plans according to the sql statement. This option will specify how many instances will be run for each plan. If the value is bigger than 1, the order of the messages may not be retained.",
			"zh_CN": "一条规则运行时会根据 sql 语句分解成多个 plan 运行。该参数设置每个 plan 运行的线程数。该参数值大于1时，消息处理顺序可能无法保证。"
		},
		"label": {
			"en_US": "Concurrency",
			"zh_CN": "线程数"
		}
	}, {
		"name": "bufferLength",
		"default":1024,
		"optional": true,
		"control": "text",
		"type": "int",
		"hint": {
			"en_US": "Specify how many messages can be buffered in memory for each plan. If the buffered messages exceed the limit, the plan will block message receiving until the buffered messages have been sent out so that the buffered size is less than the limit. A bigger value will accommodate more throughput but will also take up more memory footprint.",
			"zh_CN": "指定每个 plan 可缓存消息数。若缓存消息数超过此限制，plan 将阻塞消息接收，直到缓存消息被消费使得缓存消息数目小于限制为止。此选项值越大，则消息吞吐能力越强，但是内存占用也会越多。"
		},
		"label": {
			"en_US": "BufferLength",
			"zh_CN": "缓存大小"
		}
	}, {
		"name": "sendMetaToSink",
		"default":false,
		"optional": true,
		"control": "radio",
		"type": "bool",
		"hint": {
			"en_US": "Specify whether the meta data of an event will be sent to the sink. If true, the sink can get te meta data information.",
			"zh_CN": "指定是否将事件的元数据发送到目标。 如果为 true，则目标可以获取元数据信息。"
		},
		"label": {
			"en_US": "SendMetaToSink",
			"zh_CN": "是否发送元数据"
		}
	}, {
		"name": "qos",
		"default":0,
		"optional": true,
		"control": "select",
		"type": "list_int",
    "values":[0,1,2],
		"hint": {
			"en_US": "Specify the qos of the stream. The options are 0: At most once; 1: At least once and 2: Exactly once. If qos is bigger than 0, the checkpoint mechanism will be activated to save states periodically so that the rule can be resumed from errors.",
			"zh_CN": "指定流的 qos。 值为0对应最多一次； 1对应至少一次，2对应恰好一次。 如果 qos 大于0，将激活检查点机制以定期保存状态，以便可以从错误中恢复规则。"
		},
		"label": {
			"en_US": "Qos",
			"zh_CN": "流的 qos"
		}
	}, {
		"name": "checkpointInterval",
		"default":300000,
		"optional": true,
		"control": "text",
		"type": "int",
		"hint": {
			"en_US": "Specify the time interval in milliseconds to trigger a checkpoint. This is only effective when qos is bigger than 0.",
			"zh_CN": "指定触发检查点的时间间隔（单位为 ms）。 仅当 qos 大于0时才有效。"
		},
		"label": {
			"en_US": "Intervals",
			"zh_CN": "检查点间隔毫秒数"
		}
	}]
}
