import type { VendorConfig } from '../types'; import { SHARED_SEARCH_KEYWORDS, SHARED_SQL_AGGREGATES, SHARED_SQL_KEYWORDS, SHARED_SQL_SCALARS } from './shared'; const tlsConfig: VendorConfig = { id: 'tls', label: '火山云 TLS', searchKeywords: SHARED_SEARCH_KEYWORDS, searchBuiltinFields: [ { name: '__path__', detail: '日志路径', doc: 'TLS 内置字段:日志文件路径' }, { name: '__source__', detail: '日志来源', doc: 'TLS 内置字段:日志来源' }, { name: '__time__', detail: '日志时间', doc: 'TLS 内置字段:日志时间' }, { name: '__content__', detail: '原始内容', doc: 'TLS 内置字段:原始日志内容' }, ], fieldAssignOperators: [':'], sqlKeywords: Array.from(new Set([...SHARED_SQL_KEYWORDS, 'OVER', 'PARTITION', 'WINDOW', 'EXISTS'])), sqlFunctions: [ ...SHARED_SQL_AGGREGATES, ...SHARED_SQL_SCALARS, { name: 'approx_distinct', signature: 'approx_distinct(field)', doc: 'TLS:近似去重计数' }, { name: 'approx_percentile', signature: 'approx_percentile(field, percent)', doc: 'TLS:近似分位数' }, { name: 'histogram', signature: 'histogram(field)', doc: 'TLS:值分布直方图' }, { name: 'date_trunc', signature: 'date_trunc(unit, time)', doc: 'TLS:时间截断' }, { name: 'date_format', signature: 'date_format(time, format)', doc: 'TLS:时间格式化' }, { name: 'from_unixtime', signature: 'from_unixtime(unixtime)', doc: 'TLS:unix 时间转日期' }, { name: 'regexp_extract', signature: 'regexp_extract(str, pattern[, group])', doc: 'TLS:正则提取' }, { name: 'regexp_like', signature: 'regexp_like(str, pattern)', doc: 'TLS:正则匹配判断' }, { name: 'split_part', signature: 'split_part(str, delimiter, idx)', doc: 'TLS:字符串切分' }, { name: 'json_extract', signature: 'json_extract(json, path)', doc: 'TLS:JSON 路径取值' }, ], }; export default tlsConfig;