github.com/GuanceCloud/cliutils@v1.1.21/pipeline/ptinput/funcs/all.go (about) 1 // Unless explicitly stated otherwise all files in this repository are licensed 2 // under the MIT License. 3 // This product includes software developed at Guance Cloud (https://www.guance.com/). 4 // Copyright 2021-present Guance, Inc. 5 6 // Package funcs for pipeline 7 package funcs 8 9 import ( 10 "github.com/GuanceCloud/cliutils/logger" 11 "github.com/GuanceCloud/platypus/pkg/ast" 12 "github.com/GuanceCloud/platypus/pkg/engine/runtime" 13 ) 14 15 var l = logger.DefaultSLogger("pl-funcs") 16 17 func InitLog() { 18 l = logger.SLogger("pl-funcs") 19 } 20 21 type Function struct { 22 Name string 23 Args []*Param 24 25 // todo: check return type 26 // Return []ast.DType 27 28 Call runtime.FuncCall 29 Check runtime.FuncCheck 30 31 Doc [2]*PLDoc // zh, en 32 33 Deprecated bool 34 } 35 36 type Param struct { 37 Name string 38 Type []ast.DType 39 40 DefaultVal func() (any, ast.DType) 41 Optional bool 42 VariableP bool 43 } 44 45 var FuncsMap = map[string]runtime.FuncCall{ 46 "agg_create": AggCreate, 47 "agg_metric": AggAddMetric, 48 "append": Append, 49 "cidr": CIDR, 50 "grok": Grok, 51 "add_key": AddKey, 52 "delete": DeleteMapItem, 53 "adjust_timezone": AdjustTimezone, 54 "json": JSON, 55 "add_pattern": AddPattern, 56 "b64dec": B64dec, 57 "b64enc": B64enc, 58 "cast": Cast, 59 "datetime": DateTime, 60 "default_time": DefaultTime, 61 "default_time_with_fmt": DefaultTimeWithFmt, 62 "drop": Drop, 63 "drop_key": Dropkey, 64 "drop_origin_data": DropOriginData, 65 "exit": Exit, 66 "geoip": GeoIP, 67 "get_key": Getkey, 68 "group_between": Group, 69 "group_in": GroupIn, 70 "kv_split": KVSplit, 71 "lowercase": Lowercase, 72 "len": Len, 73 "load_json": LoadJSON, 74 "nullif": NullIf, 75 "rename": Rename, 76 "set_tag": SetTag, 77 "set_measurement": SetMeasurement, 78 "strfmt": Strfmt, 79 "trim": Trim, 80 "timestamp": Timestamp, 81 "uppercase": Uppercase, 82 "use": Use, 83 "url_decode": URLDecode, 84 "user_agent": UserAgent, 85 "parse_duration": ParseDuration, 86 "parse_date": ParseDate, 87 "cover": Cover, 88 "query_refer_table": QueryReferTable, 89 "mquery_refer_table": MQueryReferTableMulti, 90 "replace": Replace, 91 "duration_precision": DurationPrecision, 92 "xml": XML, 93 "match": Match, 94 "sql_cover": SQLCover, 95 "decode": Decode, 96 "sample": Sample, 97 "url_parse": URLParse, 98 "value_type": ValueType, 99 "vaild_json": ValidJSON, 100 "valid_json": ValidJSON, 101 "conv_traceid_w3c_to_dd": ConvTraceIDW3C2DD, 102 "create_point": CreatePoint, 103 "parse_int": ParseInt, 104 "format_int": FormatInt, 105 "pt_name": PtName, 106 "http_request": HTTPRequest, 107 "cache_get": CacheGet, 108 "cache_set": CacheSet, 109 "gjson": GJSON, 110 "point_window": PtWindow, 111 "window_hit": PtWindowHit, 112 "pt_kvs_set": FnPtKvsSet.Call, 113 "pt_kvs_get": FnPtKvsGet.Call, 114 "pt_kvs_del": FnPtKvsDel.Call, 115 "pt_kvs_keys": FnPtKvsKeys.Call, 116 "hash": FnHash.Call, 117 118 // disable 119 "json_all": JSONAll, 120 } 121 122 var FuncsCheckMap = map[string]runtime.FuncCheck{ 123 "agg_create": AggCreateChecking, 124 "agg_metric": AggAddMetricChecking, 125 "append": AppendChecking, 126 "cidr": CIDRChecking, 127 "grok": GrokChecking, 128 "add_key": AddkeyChecking, 129 "delete": DeleteMapItemChecking, 130 "adjust_timezone": AdjustTimezoneChecking, 131 "json": JSONChecking, 132 "add_pattern": AddPatternChecking, 133 "b64dec": B64decChecking, 134 "b64enc": B64encChecking, 135 "cast": CastChecking, 136 "datetime": DateTimeChecking, 137 "default_time": DefaultTimeChecking, 138 "default_time_with_fmt": DefaultTimeWithFmtChecking, 139 "drop": DropChecking, 140 "drop_key": DropkeyChecking, 141 "drop_origin_data": DropOriginDataChecking, 142 "exit": ExitChecking, 143 "geoip": GeoIPChecking, 144 "get_key": GetkeyChecking, 145 "group_between": GroupChecking, 146 "group_in": GroupInChecking, 147 "kv_split": KVSplitChecking, 148 "len": LenChecking, 149 "load_json": LoadJSONChecking, 150 "lowercase": LowercaseChecking, 151 "nullif": NullIfChecking, 152 "rename": RenameChecking, 153 "set_measurement": SetMeasurementChecking, 154 "set_tag": SetTagChecking, 155 "strfmt": StrfmtChecking, 156 "trim": TrimChecking, 157 "timestamp": TimestampChecking, 158 "uppercase": UppercaseChecking, 159 "use": UseChecking, 160 "url_decode": URLDecodeChecking, 161 "user_agent": UserAgentChecking, 162 "parse_duration": ParseDurationChecking, 163 "parse_date": ParseDateChecking, 164 "cover": CoverChecking, 165 "query_refer_table": QueryReferTableChecking, 166 "mquery_refer_table": MQueryReferTableChecking, 167 "replace": ReplaceChecking, 168 "duration_precision": DurationPrecisionChecking, 169 "sql_cover": SQLCoverChecking, 170 "xml": XMLChecking, 171 "match": MatchChecking, 172 "decode": DecodeChecking, 173 "url_parse": URLParseChecking, 174 "sample": SampleChecking, 175 "value_type": ValueTypeChecking, 176 "vaild_json": ValidJSONChecking, 177 "valid_json": ValidJSONChecking, 178 "conv_traceid_w3c_to_dd": ConvTraceIDW3C2DDChecking, 179 "create_point": CreatePointChecking, 180 "parse_int": ParseIntChecking, 181 "format_int": FormatIntChecking, 182 "pt_name": PtNameChecking, 183 "http_request": HTTPRequestChecking, 184 "cache_get": CacheGetChecking, 185 "cache_set": CacheSetChecking, 186 "gjson": GJSONChecking, 187 "point_window": PtWindowChecking, 188 "window_hit": PtWindowHitChecking, 189 190 "pt_kvs_set": FnPtKvsSet.Check, 191 "pt_kvs_get": FnPtKvsGet.Check, 192 "pt_kvs_del": FnPtKvsDel.Check, 193 "pt_kvs_keys": FnPtKvsKeys.Check, 194 "hash": FnHash.Check, 195 196 // disable 197 "json_all": JSONAllChecking, 198 }