| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710 |
- /* tslint:disable:max-line-length */
- export const operatorTokens = [
- { text: '!between', hint: 'Matches the input that is outside the inclusive range.' },
- { text: 'as', hint: "Binds a name to the operator's input tabular expression." },
- { text: 'between', hint: 'Matches the input that is inside the inclusive range.' },
- {
- text: 'consume',
- hint:
- 'The `consume` operator consumes the tabular data stream handed to it. It is\r\nmostly used for triggering the query side-effect without actually returning\r\nthe results back to the caller.',
- },
- { text: 'count', hint: 'Returns the number of records in the input record set.' },
- { text: 'datatable', hint: 'Returns a table whose schema and values are defined in the query itself.' },
- {
- text: 'distinct',
- hint: 'Produces a table with the distinct combination of the provided columns of the input table.',
- },
- { text: 'evaluate', hint: 'Invokes a service-side query extension (plugin).' },
- { text: 'extend', hint: 'Create calculated columns and append them to the result set.' },
- {
- text: 'externaldata',
- hint:
- 'Returns a table whose schema is defined in the query itself, and whose data is read from an external raw file.',
- },
- {
- text: 'facet',
- hint:
- 'Returns a set of tables, one for each specified column.\r\nEach table specifies the list of values taken by its column.\r\nAn additional table can be created by using the `with` clause.',
- },
- { text: 'find', hint: 'Finds rows that match a predicate across a set of tables.' },
- { text: 'fork', hint: 'Runs multiple consumer operators in parallel.' },
- { text: 'getschema', hint: 'Produce a table that represents a tabular schema of the input.' },
- { text: 'in', hint: 'Filters a recordset based on the provided set of values.' },
- { text: 'invoke', hint: 'Invokes lambda that receives the source of `invoke` as tabular parameter argument.' },
- {
- text: 'join',
- hint:
- 'Merge the rows of two tables to form a new table by matching values of the specified column(s) from each table.',
- },
- { text: 'limit', hint: 'Return up to the specified number of rows.' },
- { text: 'make-series', hint: 'Create series of specified aggregated values along specified axis.' },
- { text: 'mvexpand', hint: 'Expands multi-value array or property bag.' },
- { text: 'order', hint: 'Sort the rows of the input table into order by one or more columns.' },
- { text: 'parse', hint: 'Evaluates a string expression and parses its value into one or more calculated columns.' },
- {
- text: 'print',
- hint:
- 'Evaluates one or more scalar expressions and inserts the results (as a single-row table with as many columns as there are expressions) into the output.',
- },
- { text: 'project', hint: 'Select the columns to include, rename or drop, and insert new computed columns.' },
- { text: 'project-away', hint: 'Select what columns to exclude from the input.' },
- { text: 'project-rename', hint: 'Renames columns in the result output.' },
- { text: 'range', hint: 'Generates a single-column table of values.' },
- { text: 'reduce', hint: 'Groups a set of strings together based on values similarity.' },
- { text: 'render', hint: 'Instructs the user agent to render the results of the query in a particular way.' },
- { text: 'sample', hint: 'Returns up to the specified number of random rows from the input table.' },
- {
- text: 'sample-distinct',
- hint:
- 'Returns a single column that contains up to the specified number of distinct values of the requested column.',
- },
- { text: 'search', hint: 'The search operator provides a multi-table/multi-column search experience.' },
- { text: 'serialize', hint: 'Marks that order of the input row set is safe for window functions usage.' },
- { text: 'sort', hint: 'Sort the rows of the input table into order by one or more columns.' },
- { text: 'summarize', hint: 'Produces a table that aggregates the content of the input table.' },
- { text: 'take', hint: 'Return up to the specified number of rows.' },
- { text: 'top', hint: 'Returns the first *N* records sorted by the specified columns.' },
- {
- text: 'top-hitters',
- hint: 'Returns an approximation of the first *N* results (assuming skewed distribution of the input).',
- },
- {
- text: 'top-nested',
- hint: 'Produces hierarchical top results, where each level is a drill-down based on previous level values.',
- },
- { text: 'union', hint: 'Takes two or more tables and returns the rows of all of them.' },
- { text: 'where', hint: 'Filters a table to the subset of rows that satisfy a predicate.' },
- ];
- export const functionTokens = [
- { text: 'abs', hint: 'Calculates the absolute value of the input.' },
- {
- text: 'acos',
- hint:
- 'Returns the angle whose cosine is the specified number (the inverse operation of [`cos()`](cosfunction.md)) .',
- },
- { text: 'ago', hint: 'Subtracts the given timespan from the current UTC clock time.' },
- { text: 'any', hint: 'Returns random non-empty value from the specified expression values.' },
- {
- text: 'arg_max',
- hint:
- 'Finds a row in the group that maximizes *ExprToMaximize*, and returns the value of *ExprToReturn* (or `*` to return the entire row).',
- },
- {
- text: 'arg_min',
- hint:
- 'Finds a row in the group that minimizes *ExprToMinimize*, and returns the value of *ExprToReturn* (or `*` to return the entire row).',
- },
- {
- text: 'argmax',
- hint:
- 'Finds a row in the group that maximizes *ExprToMaximize*, and returns the value of *ExprToReturn* (or `*` to return the entire row).',
- },
- {
- text: 'argmin',
- hint:
- 'Finds a row in the group that minimizes *ExprToMinimize*, and returns the value of *ExprToReturn* (or `*` to return the entire row).',
- },
- { text: 'array_concat', hint: 'Concatenates a number of dynamic arrays to a single array.' },
- { text: 'array_length', hint: 'Calculates the number of elements in a dynamic array.' },
- { text: 'array_slice', hint: 'Extracts a slice of a dynamic array.' },
- {
- text: 'array_split',
- hint:
- 'Splits an array to multiple arrays according to the split indices and packs the generated array in a dynamic array.',
- },
- {
- text: 'asin',
- hint: 'Returns the angle whose sine is the specified number (the inverse operation of [`sin()`](sinfunction.md)) .',
- },
- {
- text: 'assert',
- hint: 'Checks for a condition; if the condition is false, outputs error messages and fails the query.',
- },
- {
- text: 'atan',
- hint:
- 'Returns the angle whose tangent is the specified number (the inverse operation of [`tan()`](tanfunction.md)) .',
- },
- {
- text: 'atan2',
- hint:
- 'Calculates the angle, in radians, between the positive x-axis and the ray from the origin to the point (y, x).',
- },
- { text: 'avg', hint: 'Calculates the average of *Expr* across the group.' },
- {
- text: 'avgif',
- hint:
- 'Calculates the [average](avg-aggfunction.md) of *Expr* across the group for which *Predicate* evaluates to `true`.',
- },
- { text: 'bag_keys', hint: 'Enumerates all the root keys in a dynamic property-bag object.' },
- { text: 'base64_decodestring', hint: 'Decodes a base64 string to a UTF-8 string' },
- { text: 'base64_encodestring', hint: 'Encodes a string as base64 string' },
- { text: 'beta_cdf', hint: 'Returns the standard cumulative beta distribution function.' },
- { text: 'beta_inv', hint: 'Returns the inverse of the beta cumulative probability beta density function.' },
- { text: 'beta_pdf', hint: 'Returns the probability density beta function.' },
- { text: 'bin', hint: 'Rounds values down to an integer multiple of a given bin size.' },
- {
- text: 'bin_at',
- hint:
- "Rounds values down to a fixed-size 'bin', with control over the bin's starting point.\r\n(See also [`bin function`](./binfunction.md).)",
- },
- {
- text: 'bin_auto',
- hint:
- "Rounds values down to a fixed-size 'bin', with control over the bin size and starting point provided by a query property.",
- },
- { text: 'binary_and', hint: 'Returns a result of the bitwise `and` operation between two values.' },
- { text: 'binary_not', hint: 'Returns a bitwise negation of the input value.' },
- { text: 'binary_or', hint: 'Returns a result of the bitwise `or` operation of the two values.' },
- { text: 'binary_shift_left', hint: 'Returns binary shift left operation on a pair of numbers.' },
- { text: 'binary_shift_right', hint: 'Returns binary shift right operation on a pair of numbers.' },
- { text: 'binary_xor', hint: 'Returns a result of the bitwise `xor` operation of the two values.' },
- { text: 'buildschema', hint: 'Returns the minimal schema that admits all values of *DynamicExpr*.' },
- {
- text: 'case',
- hint: 'Evaluates a list of predicates and returns the first result expression whose predicate is satisfied.',
- },
- {
- text: 'ceiling',
- hint: 'Calculates the smallest integer greater than, or equal to, the specified numeric expression.',
- },
- { text: 'cluster', hint: 'Changes the reference of the query to a remote cluster.' },
- {
- text: 'coalesce',
- hint: 'Evaluates a list of expressions and returns the first non-null (or non-empty for string) expression.',
- },
- { text: 'cos', hint: 'Returns the cosine function.' },
- { text: 'cot', hint: 'Calculates the trigonometric cotangent of the specified angle, in radians.' },
- {
- text: 'count',
- hint:
- 'Returns a count of the records per summarization group (or in total if summarization is done without grouping).',
- },
- { text: 'countif', hint: 'Returns a count of rows for which *Predicate* evaluates to `true`.' },
- {
- text: 'countof',
- hint: 'Counts occurrences of a substring in a string. Plain string matches may overlap; regex matches do not.',
- },
- { text: 'current_principal', hint: 'Returns the current principal running this query.' },
- {
- text: 'cursor_after',
- hint: 'A predicate over the records of a table to compare their ingestion time\r\nagainst a database cursor.',
- },
- {
- text: 'cursor_before_or_at',
- hint: 'A predicate over the records of a table to compare their ingestion time\r\nagainst a database cursor.',
- },
- { text: 'database', hint: 'Changes the reference of the query to a specific database within the cluster scope.' },
- {
- text: 'datetime_add',
- hint:
- 'Calculates a new [datetime](./scalar-data-types/datetime.md) from a specified datepart multiplied by a specified amount, added to a specified [datetime](./scalar-data-types/datetime.md).',
- },
- {
- text: 'datetime_diff',
- hint: 'Calculates calendarian difference between two [datetime](./scalar-data-types/datetime.md) values.',
- },
- { text: 'datetime_part', hint: 'Extracts the requested date part as an integer value.' },
- { text: 'dayofmonth', hint: 'Returns the integer number representing the day number of the given month' },
- { text: 'dayofweek', hint: 'Returns the integer number of days since the preceding Sunday, as a `timespan`.' },
- { text: 'dayofyear', hint: 'Returns the integer number represents the day number of the given year.' },
- { text: 'dcount', hint: 'Returns an estimate of the number of distinct values of *Expr* in the group.' },
- {
- text: 'dcount_hll',
- hint:
- 'Calculates the dcount from hll results (which was generated by [hll](hll-aggfunction.md) or [hll_merge](hll-merge-aggfunction.md)).',
- },
- {
- text: 'dcountif',
- hint:
- 'Returns an estimate of the number of distinct values of *Expr* of rows for which *Predicate* evaluates to `true`.',
- },
- {
- text: 'degrees',
- hint:
- 'Converts angle value in radians into value in degrees, using formula `degrees = (180 / PI ) * angle_in_radians`',
- },
- { text: 'distance', hint: 'Returns the distance between two points in meters.' },
- { text: 'endofday', hint: 'Returns the end of the day containing the date, shifted by an offset, if provided.' },
- { text: 'endofmonth', hint: 'Returns the end of the month containing the date, shifted by an offset, if provided.' },
- { text: 'endofweek', hint: 'Returns the end of the week containing the date, shifted by an offset, if provided.' },
- { text: 'endofyear', hint: 'Returns the end of the year containing the date, shifted by an offset, if provided.' },
- {
- text: 'estimate_data_size',
- hint: 'Returns an estimated data size of the selected columns of the tabular expression.',
- },
- { text: 'exp', hint: 'The base-e exponential function of x, which is e raised to the power x: e^x.' },
- {
- text: 'exp10',
- hint: 'The base-10 exponential function of x, which is 10 raised to the power x: 10^x. \r\n**Syntax**',
- },
- { text: 'exp2', hint: 'The base-2 exponential function of x, which is 2 raised to the power x: 2^x.' },
- {
- text: 'extent_id',
- hint: 'Returns a unique identifier that identifies the data shard ("extent") that the current record resides in.',
- },
- {
- text: 'extent_tags',
- hint:
- 'Returns a dynamic array with the [tags](../management/extents-overview.md#extent-tagging) of the data shard ("extent") that the current record resides in.',
- },
- { text: 'extract', hint: 'Get a match for a [regular expression](./re2.md) from a text string.' },
- { text: 'extract_all', hint: 'Get all matches for a [regular expression](./re2.md) from a text string.' },
- { text: 'extractjson', hint: 'Get a specified element out of a JSON text using a path expression.' },
- { text: 'floor', hint: 'An alias for [`bin()`](binfunction.md).' },
- { text: 'format_datetime', hint: 'Formats a datetime parameter based on the format pattern parameter.' },
- { text: 'format_timespan', hint: 'Formats a timespan parameter based on the format pattern parameter.' },
- { text: 'gamma', hint: 'Computes [gamma function](https://en.wikipedia.org/wiki/Gamma_function)' },
- { text: 'getmonth', hint: 'Get the month number (1-12) from a datetime.' },
- { text: 'gettype', hint: 'Returns the runtime type of its single argument.' },
- { text: 'getyear', hint: 'Returns the year part of the `datetime` argument.' },
- { text: 'hash', hint: 'Returns a hash value for the input value.' },
- { text: 'hash_sha256', hint: 'Returns a sha256 hash value for the input value.' },
- { text: 'hll', hint: 'Calculates the Intermediate results of [dcount](dcount-aggfunction.md) across the group.' },
- {
- text: 'hll_merge',
- hint: 'Merges hll results (scalar version of the aggregate version [`hll_merge()`](hll-merge-aggfunction.md)).',
- },
- { text: 'hourofday', hint: 'Returns the integer number representing the hour number of the given date' },
- {
- text: 'iff',
- hint:
- 'Evaluates the first argument (the predicate), and returns the value of either the second or third arguments, depending on whether the predicate evaluated to `true` (second) or `false` (third).',
- },
- {
- text: 'iif',
- hint:
- 'Evaluates the first argument (the predicate), and returns the value of either the second or third arguments, depending on whether the predicate evaluated to `true` (second) or `false` (third).',
- },
- {
- text: 'indexof',
- hint: 'Function reports the zero-based index of the first occurrence of a specified string within input string.',
- },
- { text: 'ingestion_time', hint: "Retrieves the record's `$IngestionTime` hidden `datetime` column, or null." },
- {
- text: 'iscolumnexists',
- hint:
- 'Returns a boolean value indicating if the given string argument exists in the schema produced by the preceding tabular operator.',
- },
- { text: 'isempty', hint: 'Returns `true` if the argument is an empty string or is null.' },
- { text: 'isfinite', hint: 'Returns whether input is a finite value (is neither infinite nor NaN).' },
- { text: 'isinf', hint: 'Returns whether input is an infinite (positive or negative) value.' },
- { text: 'isnan', hint: 'Returns whether input is Not-a-Number (NaN) value.' },
- { text: 'isnotempty', hint: 'Returns `true` if the argument is not an empty string nor it is a null.' },
- { text: 'isnotnull', hint: 'Returns `true` if the argument is not null.' },
- {
- text: 'isnull',
- hint:
- 'Evaluates its sole argument and returns a `bool` value indicating if the argument evaluates to a null value.',
- },
- { text: 'log', hint: 'Returns the natural logarithm function.' },
- { text: 'log10', hint: 'Returns the common (base-10) logarithm function.' },
- { text: 'log2', hint: 'Returns the base-2 logarithm function.' },
- {
- text: 'loggamma',
- hint: 'Computes log of absolute value of the [gamma function](https://en.wikipedia.org/wiki/Gamma_function)',
- },
- {
- text: 'make_datetime',
- hint: 'Creates a [datetime](./scalar-data-types/datetime.md) scalar value from the specified date and time.',
- },
- {
- text: 'make_dictionary',
- hint: 'Returns a `dynamic` (JSON) property-bag (dictionary) of all the values of *Expr* in the group.',
- },
- { text: 'make_string', hint: 'Returns the string generated by the Unicode characters.' },
- {
- text: 'make_timespan',
- hint: 'Creates a [timespan](./scalar-data-types/timespan.md) scalar value from the specified time period.',
- },
- { text: 'makelist', hint: 'Returns a `dynamic` (JSON) array of all the values of *Expr* in the group.' },
- {
- text: 'makeset',
- hint: 'Returns a `dynamic` (JSON) array of the set of distinct values that *Expr* takes in the group.',
- },
- {
- text: 'materialize',
- hint:
- 'Allows caching a sub-query result during the time of query execution in a way that other subqueries can reference the partial result.',
- },
- { text: 'max', hint: 'Returns the maximum value across the group.' },
- { text: 'max_of', hint: 'Returns the maximum value of several evaluated numeric expressions.' },
- {
- text: 'merge_tdigests',
- hint:
- 'Merges tdigest results (scalar version of the aggregate version [`merge_tdigests()`](merge-tdigests-aggfunction.md)).',
- },
- { text: 'min', hint: 'Returns the minimum value agross the group.' },
- { text: 'min_of', hint: 'Returns the minimum value of several evaluated numeric expressions.' },
- { text: 'monthofyear', hint: 'Returns the integer number represents the month number of the given year.' },
- {
- text: 'next',
- hint:
- 'Returns the value of a column in a row that it at some offset following the\r\ncurrent row in a [serialized row set](./windowsfunctions.md#serialized-row-set).',
- },
- { text: 'not', hint: 'Reverses the value of its `bool` argument.' },
- {
- text: 'now',
- hint:
- 'Returns the current UTC clock time, optionally offset by a given timespan.\r\nThis function can be used multiple times in a statement and the clock time being referenced will be the same for all instances.',
- },
- { text: 'pack', hint: 'Creates a `dynamic` object (property bag) from a list of names and values.' },
- {
- text: 'pack_all',
- hint: 'Creates a `dynamic` object (property bag) from all the columns of the tabular expression.',
- },
- { text: 'pack_array', hint: 'Packs all input values into a dynamic array.' },
- { text: 'parse_ipv4', hint: 'Converts input to integer (signed 64-bit) number representation.' },
- {
- text: 'parse_json',
- hint:
- 'Interprets a `string` as a [JSON value](https://json.org/)) and returns the value as [`dynamic`](./scalar-data-types/dynamic.md). \r\nIt is superior to using [extractjson() function](./extractjsonfunction.md)\r\nwhen you need to extract more than one element of a JSON compound object.',
- },
- {
- text: 'parse_path',
- hint:
- 'Parses a file path `string` and returns a [`dynamic`](./scalar-data-types/dynamic.md) object that contains the following parts of the path: \r\nScheme, RootPath, DirectoryPath, DirectoryName, FileName, Extension, AlternateDataStreamName.\r\nIn addition to the simple paths with both types of slashes, supports paths with schemas (e.g. "file://..."), shared paths (e.g. "\\\\shareddrive\\users..."), long paths (e.g "\\\\?\\C:...""), alternate data streams (e.g. "file1.exe:file2.exe")',
- },
- {
- text: 'parse_url',
- hint:
- 'Parses an absolute URL `string` and returns a [`dynamic`](./scalar-data-types/dynamic.md) object contains all parts of the URL (Scheme, Host, Port, Path, Username, Password, Query Parameters, Fragment).',
- },
- {
- text: 'parse_urlquery',
- hint:
- 'Parses a url query `string` and returns a [`dynamic`](./scalar-data-types/dynamic.md) object contains the Query parameters.',
- },
- {
- text: 'parse_user_agent',
- hint:
- "Interprets a user-agent string, which identifies the user's browser and provides certain system details to servers hosting the websites the user visits. The result is returned as [`dynamic`](./scalar-data-types/dynamic.md).",
- },
- { text: 'parse_version', hint: 'Converts input string representation of version to a comparable decimal number.' },
- {
- text: 'parse_xml',
- hint:
- 'Interprets a `string` as a XML value, converts the value to a [JSON value](https://json.org/) and returns the value as [`dynamic`](./scalar-data-types/dynamic.md).',
- },
- {
- text: 'percentile',
- hint:
- 'Returns an estimate for the specified [nearest-rank percentile](#nearest-rank-percentile) of the population defined by *Expr*. \r\nThe accuracy depends on the density of population in the region of the percentile.',
- },
- {
- text: 'percentile_tdigest',
- hint:
- 'Calculates the percentile result from tdigest results (which was generated by [tdigest](tdigest-aggfunction.md) or [merge-tdigests](merge-tdigests-aggfunction.md))',
- },
- {
- text: 'percentrank_tdigest',
- hint:
- "Calculates the approximate rank of the value in a set where rank is expressed as percentage of set's size. \r\nThis function can be viewed as the inverse of the percentile.",
- },
- { text: 'pi', hint: 'Returns the constant value of Pi (π).' },
- { text: 'point', hint: 'Returns a dynamic array representation of a point.' },
- { text: 'pow', hint: 'Returns a result of raising to power' },
- {
- text: 'prev',
- hint:
- 'Returns the value of a column in a row that it at some offset prior to the\r\ncurrent row in a [serialized row set](./windowsfunctions.md#serialized-row-set).',
- },
- {
- text: 'radians',
- hint:
- 'Converts angle value in degrees into value in radians, using formula `radians = (PI / 180 ) * angle_in_degrees`',
- },
- { text: 'rand', hint: 'Returns a random number.' },
- { text: 'range', hint: 'Generates a dynamic array holding a series of equally-spaced values.' },
- { text: 'repeat', hint: 'Generates a dynamic array holding a series of equal values.' },
- { text: 'replace', hint: 'Replace all regex matches with another string.' },
- { text: 'reverse', hint: 'Function makes reverse of input string.' },
- { text: 'round', hint: 'Returns the rounded source to the specified precision.' },
- {
- text: 'row_cumsum',
- hint:
- 'Calculates the cumulative sum of a column in a [serialized row set](./windowsfunctions.md#serialized-row-set).',
- },
- {
- text: 'row_number',
- hint:
- "Returns the current row's index in a [serialized row set](./windowsfunctions.md#serialized-row-set).\r\nThe row index starts by default at `1` for the first row, and is incremented by `1` for each additional row.\r\nOptionally, the row index can start at a different value than `1`.\r\nAdditionally, the row index may be reset according to some provided predicate.",
- },
- { text: 'series_add', hint: 'Calculates the element-wise addition of two numeric series inputs.' },
- { text: 'series_decompose', hint: 'Applies a decomposition transformation on a series.' },
- {
- text: 'series_decompose_anomalies',
- hint:
- 'Anomaly Detection based on series decomposition (refer to [series_decompose()](series-decomposefunction.md))',
- },
- { text: 'series_decompose_forecast', hint: 'Forecast based on series decomposition.' },
- { text: 'series_divide', hint: 'Calculates the element-wise division of two numeric series inputs.' },
- {
- text: 'series_equals',
- hint: 'Calculates the element-wise equals (`==`) logic operation of two numeric series inputs.',
- },
- { text: 'series_fill_backward', hint: 'Performs backward fill interpolation of missing values in a series.' },
- { text: 'series_fill_const', hint: 'Replaces missing values in a series with a specified constant value.' },
- { text: 'series_fill_forward', hint: 'Performs forward fill interpolation of missing values in a series.' },
- { text: 'series_fill_linear', hint: 'Performs linear interpolation of missing values in a series.' },
- { text: 'series_fir', hint: 'Applies a Finite Impulse Response filter on a series.' },
- {
- text: 'series_fit_2lines',
- hint: 'Applies two segments linear regression on a series, returning multiple columns.',
- },
- {
- text: 'series_fit_2lines_dynamic',
- hint: 'Applies two segments linear regression on a series, returning dynamic object.',
- },
- { text: 'series_fit_line', hint: 'Applies linear regression on a series, returning multiple columns.' },
- { text: 'series_fit_line_dynamic', hint: 'Applies linear regression on a series, returning dynamic object.' },
- {
- text: 'series_greater',
- hint: 'Calculates the element-wise greater (`>`) logic operation of two numeric series inputs.',
- },
- {
- text: 'series_greater_equals',
- hint: 'Calculates the element-wise greater or equals (`>=`) logic operation of two numeric series inputs.',
- },
- { text: 'series_iir', hint: 'Applies a Infinite Impulse Response filter on a series.' },
- { text: 'series_less', hint: 'Calculates the element-wise less (`<`) logic operation of two numeric series inputs.' },
- {
- text: 'series_less_equals',
- hint: 'Calculates the element-wise less or equal (`<=`) logic operation of two numeric series inputs.',
- },
- { text: 'series_multiply', hint: 'Calculates the element-wise multiplication of two numeric series inputs.' },
- {
- text: 'series_not_equals',
- hint: 'Calculates the element-wise not equals (`!=`) logic operation of two numeric series inputs.',
- },
- { text: 'series_outliers', hint: 'Scores anomaly points in a series.' },
- { text: 'series_periods_detect', hint: 'Finds the most significant periods that exist in a time series.' },
- {
- text: 'series_periods_validate',
- hint: 'Checks whether a time series contains periodic patterns of given lengths.',
- },
- {
- text: 'series_seasonal',
- hint: 'Calculates the seasonal component of a series according to the detected or given seasonal period.',
- },
- { text: 'series_stats', hint: 'Returns statistics for a series in multiple columns.' },
- { text: 'series_stats_dynamic', hint: 'Returns statistics for a series in dynamic object.' },
- { text: 'series_subtract', hint: 'Calculates the element-wise subtraction of two numeric series inputs.' },
- { text: 'sign', hint: 'Sign of a numeric expression' },
- { text: 'sin', hint: 'Returns the sine function.' },
- {
- text: 'split',
- hint:
- 'Splits a given string according to a given delimiter and returns a string array with the contained substrings.',
- },
- { text: 'sqrt', hint: 'Returns the square root function.' },
- { text: 'startofday', hint: 'Returns the start of the day containing the date, shifted by an offset, if provided.' },
- {
- text: 'startofmonth',
- hint: 'Returns the start of the month containing the date, shifted by an offset, if provided.',
- },
- {
- text: 'startofweek',
- hint: 'Returns the start of the week containing the date, shifted by an offset, if provided.',
- },
- {
- text: 'startofyear',
- hint: 'Returns the start of the year containing the date, shifted by an offset, if provided.',
- },
- {
- text: 'stdev',
- hint:
- 'Calculates the standard deviation of *Expr* across the group, considering the group as a [sample](https://en.wikipedia.org/wiki/Sample_%28statistics%29).',
- },
- {
- text: 'stdevif',
- hint:
- 'Calculates the [stdev](stdev-aggfunction.md) of *Expr* across the group for which *Predicate* evaluates to `true`.',
- },
- {
- text: 'stdevp',
- hint:
- 'Calculates the standard deviation of *Expr* across the group, considering the group as a [population](https://en.wikipedia.org/wiki/Statistical_population).',
- },
- { text: 'strcat', hint: 'Concatenates between 1 and 64 arguments.' },
- { text: 'strcat_array', hint: 'Creates a concatenated string of array values using specified delimiter.' },
- {
- text: 'strcat_delim',
- hint: 'Concatenates between 2 and 64 arguments, with delimiter, provided as first argument.',
- },
- { text: 'strcmp', hint: 'Compares two strings.' },
- { text: 'string_size', hint: 'Returns the size, in bytes, of the input string.' },
- { text: 'strlen', hint: 'Returns the length, in characters, of the input string.' },
- { text: 'strrep', hint: 'Repeats given [string](./scalar-data-types/string.md) provided amount of times.' },
- {
- text: 'substring',
- hint: 'Extracts a substring from a source string starting from some index to the end of the string.',
- },
- { text: 'sum', hint: 'Calculates the sum of *Expr* across the group.' },
- { text: 'sumif', hint: 'Returns a sum of *Expr* for which *Predicate* evaluates to `true`.' },
- { text: 'table', hint: 'References specific table using an query-time evaluated string-expression.' },
- { text: 'tan', hint: 'Returns the tangent function.' },
- {
- text: 'tdigest',
- hint: 'Calculates the Intermediate results of [`percentiles()`](percentiles-aggfunction.md) across the group.',
- },
- {
- text: 'tdigest_merge',
- hint:
- 'Merges tdigest results (scalar version of the aggregate version [`tdigest_merge()`](tdigest-merge-aggfunction.md)).',
- },
- { text: 'tobool', hint: 'Converts input to boolean (signed 8-bit) representation.' },
- { text: 'todatetime', hint: 'Converts input to [datetime](./scalar-data-types/datetime.md) scalar.' },
- { text: 'todecimal', hint: 'Converts input to decimal number representation.' },
- {
- text: 'todouble',
- hint: 'Converts the input to a value of type `real`. (`todouble()` and `toreal()` are synonyms.)',
- },
- {
- text: 'todynamic',
- hint:
- 'Interprets a `string` as a [JSON value](https://json.org/) and returns the value as [`dynamic`](./scalar-data-types/dynamic.md).',
- },
- { text: 'toguid', hint: 'Converts input to [`guid`](./scalar-data-types/guid.md) representation.' },
- { text: 'tohex', hint: 'Converts input to a hexadecimal string.' },
- { text: 'toint', hint: 'Converts input to integer (signed 32-bit) number representation.' },
- { text: 'tolong', hint: 'Converts input to long (signed 64-bit) number representation.' },
- { text: 'tolower', hint: 'Converts input string to lower case.' },
- { text: 'toscalar', hint: 'Returns a scalar constant value of the evaluated expression.' },
- { text: 'tostring', hint: 'Converts input to a string representation.' },
- { text: 'totimespan', hint: 'Converts input to [timespan](./scalar-data-types/timespan.md) scalar.' },
- { text: 'toupper', hint: 'Converts a string to upper case.' },
- {
- text: 'translate',
- hint:
- "Replaces a set of characters ('searchList') with another set of characters ('replacementList') in a given a string.\r\nThe function searches for characters in the 'searchList' and replaces them with the corresponding characters in 'replacementList'",
- },
- { text: 'treepath', hint: 'Enumerates all the path expressions that identify leaves in a dynamic object.' },
- { text: 'trim', hint: 'Removes all leading and trailing matches of the specified regular expression.' },
- { text: 'trim_end', hint: 'Removes trailing match of the specified regular expression.' },
- { text: 'trim_start', hint: 'Removes leading match of the specified regular expression.' },
- { text: 'url_decode', hint: 'The function converts encoded URL into a to regular URL representation.' },
- {
- text: 'url_encode',
- hint: 'The function converts characters of the input URL into a format that can be transmitted over the Internet.',
- },
- {
- text: 'variance',
- hint:
- 'Calculates the variance of *Expr* across the group, considering the group as a [sample](https://en.wikipedia.org/wiki/Sample_%28statistics%29).',
- },
- {
- text: 'varianceif',
- hint:
- 'Calculates the [variance](variance-aggfunction.md) of *Expr* across the group for which *Predicate* evaluates to `true`.',
- },
- {
- text: 'variancep',
- hint:
- 'Calculates the variance of *Expr* across the group, considering the group as a [population](https://en.wikipedia.org/wiki/Statistical_population).',
- },
- { text: 'weekofyear', hint: 'Returns the integer number represents the week number.' },
- {
- text: 'welch_test',
- hint: 'Computes the p_value of the [Welch-test function](https://en.wikipedia.org/wiki/Welch%27s_t-test)',
- },
- {
- text: 'zip',
- hint:
- 'The `zip` function accepts any number of `dynamic` arrays, and returns an\r\narray whose elements are each an array holding the elements of the input\r\narrays of the same index.',
- },
- ];
- export const KEYWORDS = [
- 'by',
- 'on',
- 'contains',
- 'notcontains',
- 'containscs',
- 'notcontainscs',
- 'startswith',
- 'has',
- 'matches',
- 'regex',
- 'true',
- 'false',
- 'and',
- 'or',
- 'typeof',
- 'int',
- 'string',
- 'date',
- 'datetime',
- 'time',
- 'long',
- 'real',
- 'boolean',
- 'bool',
- ];
- export const grafanaMacros = [
- {
- text: '$__timeFilter',
- display: '$__timeFilter()',
- hint: 'Macro that uses the selected timerange in Grafana to filter the query.',
- },
- {
- text: '$__escapeMulti',
- display: '$__escapeMulti()',
- hint: 'Macro to escape multi-value template variables that contain illegal characters.',
- },
- { text: '$__contains', display: '$__contains()', hint: 'Macro for multi-value template variables.' },
- ];
- // Kusto operators
- // export const OPERATORS = ['+', '-', '*', '/', '>', '<', '==', '<>', '<=', '>=', '~', '!~'];
- export const DURATION = ['SECONDS', 'MINUTES', 'HOURS', 'DAYS', 'WEEKS', 'MONTHS', 'YEARS'];
- const tokenizer = {
- comment: {
- pattern: /(^|[^\\:])\/\/.*/,
- lookbehind: true,
- greedy: true,
- },
- 'function-context': {
- pattern: /[a-z0-9_]+\([^)]*\)?/i,
- inside: {},
- },
- duration: {
- pattern: new RegExp(`${DURATION.join('?|')}?`, 'i'),
- alias: 'number',
- },
- builtin: new RegExp(`\\b(?:${functionTokens.map(f => f.text).join('|')})(?=\\s*\\()`, 'i'),
- string: {
- pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
- greedy: true,
- },
- keyword: new RegExp(`\\b(?:${KEYWORDS.join('|')}|${operatorTokens.map(f => f.text).join('|')}|\\*)\\b`, 'i'),
- boolean: /\b(?:true|false)\b/,
- number: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,
- operator: /-|\+|\*|\/|>|<|==|<=?|>=?|<>|!~|~|=|\|/,
- punctuation: /[{};(),.:]/,
- variable: /(\[\[(.+?)\]\])|(\$(.+?))\b/,
- };
- tokenizer['function-context'].inside = {
- argument: {
- pattern: /[a-z0-9_]+(?=:)/i,
- alias: 'symbol',
- },
- duration: tokenizer.duration,
- number: tokenizer.number,
- builtin: tokenizer.builtin,
- string: tokenizer.string,
- variable: tokenizer.variable,
- };
- // console.log(tokenizer.builtin);
- export default tokenizer;
- // function escapeRegExp(str: string): string {
- // return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // $& means the whole matched string
- // }
|