テーブル図¶
テーブル図には、グループテーブル図と時系列テーブル図があります。
グループテーブル図のデータ構造¶
// 以下のデモデータのテーブル列は ['host', 'host_ip', 'columnA', 'columnB'] です
{
group_by: ['host', 'host_ip'],
column_names: ['columnA', 'columnB'],
series: [
{
tags: {
host: 'host_1',
host_ip: '111.11.123.103',
},
values: [[null, 1,2]],
column_names: ['time', 'columnA', 'columnB'],
columns: ['time', 'columnA', 'columnB'],
},
{
tags: {
host: 'host_2',
host_ip: '111.11.123.101',
},
values: [[null, 3,4]],
column_names: ['time', 'columnA', 'columnB'],
columns: ['time', 'columnA', 'columnB'],
},
{
tags: {
host: 'host_3',
host_ip: '111.11.123.102',
},
values: [[null, 5,6]],
column_names: ['time', 'columnA', 'columnB'],
columns: ['time', 'columnA', 'columnB'],
},
{
tags: {
host: 'host_4',
host_ip: '111.11.123.106',
},
values: [[null, 7,8]],
column_names: ['time', 'columnA', 'columnB'],
columns: ['time', 'columnA', 'columnB'],
},
],
},
グループテーブル図の列値は group_by と column_names を結合して構成されます。group_by は空でも構いません。
- フィールド説明:
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| group_by | list | テーブル列の構成要素。対応する列の値は、series データの各項目の tags オブジェクト内のマッピングされた value を取得します |
|
| group_by[#] | str | ||
| column_names | list | 必須 | テーブル列の構成要素。series データの column_names 内の time 以外のフィールド値に対応します。対応する列の値は series[#].values のデータを取得します |
| column_names[#] | str | ||
| series | list | 必須 | データグループ。長さはテーブルの行数を表します |
| series[#] | dict | データグループのセット | |
| series[#].tags | dict | group_by テーブル列の関連属性値(group_by 部分の列のマッピング値、およびエイリアス key 値のマッピングとしても機能します) |
|
| series[#].columns | list | 必須 | series[#].column_names と同じ ['time', ...] |
| series[#].columns[#] | str | データソースフィールドの key。最初の列の値は必ず time フィールドである必要があります |
|
| series[#].column_names | list | 必須 | データソースフィールドの key。time 以外はテーブル列の参照として使用されます |
| series[#].column_names[#] | str | ||
| series[#].values | list | データグループ。長さは series[#].columns と一致する必要があります(テーブル図では、column_names 部分の列のマッピング値に対応します) |
|
| series[#].values[#] | list | [null, データ値, ...] で構成されます |
|
| series[#].values[#][#] | str |
外部関数のレスポンス構造の例¶
@DFF.API('関数名', category='dataPlatform.dataQueryFunc')
def whytest_topology_test():
data1_1 = 100
data1_2 = 101
data2_1 = 200
data2_2 = 201
now1 = int(time.time()) * 1000
now2 = int(time.time()) * 1000
#
return {
"content": [
{
"group_by": ['attrA'],
"columns": ["filedA","filedB"]
"column_names": ["filedA","filedB"]
"series": [
{
"tags": {"attrA":'value1'},
"columns": ["time", "filedA","filedB"],
"values": [
[now1, data1_1,data1_2],
[now2, data2_1,data2_2]
],
"total_hits": -1
}
]
}
]
}
時系列テーブル図のデータ構造¶
// 以下のデモデータのテーブル列は ['fieldA', 'fieldB', 'fieldC', 'fieldD'] です
{
"query": {},
"series": [
{
"values": [
[1737365938763, 19],
[1737365938585, 20],
[1737365938874, 21],
[1737365939137, 22]
],
"columns": ["time", "fieldA"]
},
{
"values": [
[1737365938763, 30],
[1737365938585, 30.5],
[1737365938874, 31],
[1737365939137, 31.5]
],
"columns": ["time", "fieldB"]
},
{
"values": [
[1737365938763, 50],
[1737365938585, 50.5],
[1737365938874, 51],
[1737365939137, 51.5]
],
"columns": ["time", "fieldC"]
},
{
"values": [
[1737365938763, 60],
[1737365938585, 60.5],
[1737365938874, 61],
[1737365939137, 61.5]
],
"columns": ["time", "fieldD"]
}
]
}
時系列テーブル図の列値は、series[#].columns の2列目のデータを重複排除して結合したものです。
- フィールド説明:
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| series | list | 必須 | データグループ。長さはテーブルのデータグループ数を表します |
| series[#] | dict | データグループのセット | |
| series[#].columns | list | 必須 | time と 列名 で構成されます。すなわち ['time', 列名] |
| series[#].columns[#] | str | ||
| series[#].values | list | 2次元配列。各データはその列の異なる時間次元での値を表し、配列の長さはテーブルの行数に影響します | |
| series[#].values[#] | list | [タイムスタンプ, データ値] |
|
| series[#].values[#][#] | str |
外部関数のレスポンス構造の例¶
@DFF.API('関数名', category='dataPlatform.dataQueryFunc')
def whytest_topology_test():
data1_1 = 100
data1_2 = 101
data2_1 = 200
data2_2 = 201
data3_1 = 101
data3_2 = 202
now1 = int(time.time()) * 1000
now2 = int(time.time()) * 1000
now3 = int(time.time()) * 1000
#
return {
"content": [
{
"series": [
{
"columns": ["time", "filedA"],
"values": [
[now1, data1_1],
[now2, data2_1],
[now3, data3_1],
],
},
{
"columns": ["time", "filedB"],
"values": [
[now1, data1_2],
[now2, data2_2]
[now3, data3_2]
],
}
]
}
]
}