Create Field Management¶
POST /api/v1/field_cfg/add
Overview¶
Create field management
Body Request Parameters¶
Parameter Name | Type | Required | Description |
---|---|---|---|
name | string | Y | Field name, within the same field source (fieldSource), field names cannot be duplicated Allow null: False Allow empty string: False Maximum length: 256 |
alias | string | Y | Field alias Allow null: False Allow empty string: False Maximum length: 256 |
unit | string | Unit information, when fieldType is string, the unit will be set to null Allow null: False Maximum length: 256 Allow empty string: True |
|
fieldType | string | Field type Example: time Allow null: False Allow empty string: True Possible values: ['int', 'float', 'boolean', 'string', 'long'] |
|
fieldSource | string | Field source Example: time Allow null: False Allow empty string: True Possible values: ['logging', 'object', 'custom_object', 'keyevent', 'tracing', 'rum', 'security', 'network', 'billing'] |
|
desc | string | Field description Example: Hostname Allow null: False Allow empty string: True Maximum length: 3000 |
|
coverInner | boolean | Whether to overwrite system-built-in fields with the same name as the added field name, true for overwrite, false for not overwrite Example: True Allow null: False |
Additional Parameter Explanation¶
1. Request Parameter Explanation
Parameter Name | Type | Required | Description |
---|---|---|---|
name | String | Required | Field name, within the same field source (fieldSource), field names cannot be duplicated |
alias | String | Required | Field alias |
desc | String | Description | |
unit | String | Unit information, when fieldType is string, the unit will be set to null | |
fieldType | String | Field type | |
fieldSource | String | Field source, generic types use an empty string | |
coverInner | String | Whether to overwrite system-built-in fields with the same name as the added field name, true for overwrite, false for not overwrite |
For adding unit information, refer to Unit Description
2. Response Parameter Explanation
When the returned content of this interface is need_confirm, it indicates that there already exists a built-in field with the same source and name.
If you wish to continue creating, you must specify coverInner as true, and the existing built-in field with the same name will be hidden.
3. Usage Instructions for Field Management
3.1. Field management provides field descriptions for field queries.
When performing the following function queries, if you need to return field descriptions, you should specify fieldTagDescNeeded (at the same level as queries) as true.
The series in the response will add a value_desc field (at the same level as values and columns).
Function | Field Source/fieldSource |
---|---|
SHOW_TAG_KEY | "" |
SHOW_OBJECT_HISTORY_FIELD | "object" |
SHOW_BACKUP_LOG_FIELD | "logging" |
SHOW_PROFILING_FIELD | "tracing" |
SHOW_OBJECT_FIELD | "object" |
SHOW_LOGGING_FIELD | "logging" |
SHOW_EVENT_FIELD | "keyevent" |
SHOW_TRACING_FIELD | "tracing" |
SHOW_RUM_FIELD | "rum" |
SHOW_CUSTOM_OBJECT_FIELD | "custom_object" |
SHOW_CUSTOM_OBJECT_HISTORY_FIELD | "custom_object" |
SHOW_NETWORK_FIELD | "network" |
SHOW_SECURITY_FIELD | "security" |
SHOW_UNRECOVERED_EVENT_FIELD | "keyevent" |
SHOW_TRACING_METRIC_FIELD | "tracing" |
SHOW_RUM_METRIC_FIELD | "rum" |
SHOW_NETWORK_METRIC_FIELD | "network" |
Note: The field description for SHOW_FIELD_KEY uses custom metric configuration and datakit side measurements-meta.json
3.2. Field management provides unit information for queries
dql query unit loading (adding units to the series in the query_data result):
When querying Metrics data, the loaded unit information is from custom metric fields, overriding official metric fields (measurements-meta.json)
When querying non-Metrics data, the loaded unit information is defined in field management
3.3. Query function explanation when field management provides unit information
During dql queries, if the used function is not within the configured unitWhiteFuncs functions, no unit is added, for example: count
unitWhiteFuncs contains two types of functions: normal and special. When using special functions, a fixed suffix "/s" is added to the unit, unit = {"unit": unit, "suffix": "/s"}
unitWhiteFuncs function explanation:
unitWhiteFuncs:
normal:
- avg
- bottom
- top
- difference
- non_negative_difference
- distinct
- first
- last
- max
- min
- percentile
- sum
- median
- mode
- spread
- moving_average
- abs
- cumsum
- moving_average
- series_sum
- round
- window
special:
- derivative
- non_negative_derivative
- rate
- irate
4. Field Name Priority Explanation
4.1. Custom fields take precedence over built-in fields
4.2. Fields with specific sources (fieldSource) take precedence over generic field sources
Request Example¶
curl 'https://openapi.guance.com/api/v1/field_cfg/add' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Accept: application/json, text/plain, */*' \
-H 'Accept-Language: en' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"name":"test_load","alias":"as_load","fieldType":"float","desc":"temp","fieldSource":"","unit":"","coverInner":false}' \
--compressed
Response¶
{
"code": 200,
"content": {
"alias": "as_load",
"aliasEn": "",
"createAt": 1735628856,
"creator": "wsak_xxx",
"declaration": {
"business": "",
"organization": "default_private_organization"
},
"deleteAt": -1,
"desc": "temp",
"descEn": "",
"fieldSource": "",
"fieldType": "float",
"id": 1791,
"name": "test_load",
"status": 0,
"sysField": 0,
"unit": "",
"updateAt": -1,
"updator": "",
"uuid": "field_0f95016f7254494da088d878ce586477",
"workspaceUUID": "wksp_05adf2282d0d47f8b79e70547e939617"
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "TRACE-5E004BC0-E1E0-459A-8843-6FECBF0353DF"
}