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  }