トポロジーデータ構造の説明
フィールド説明
| パラメータ |
型 |
必須 |
説明 |
| column_names |
list |
任意 |
数値に対応するカラム名の集合。外部関数のデータソースの場合、この値はseriesデータに基づいて自動的に設定されます。 |
| column_names[#] |
str |
任意 |
|
| series |
list |
必須 |
データグループ。長さはデータグループの数を示します(トポロジーではデータグループは1つです)。 |
| series[#] |
dict |
任意 |
1つのデータグループの集合 |
| series[#].tags |
dict |
任意 |
データに関連する属性(データの関連属性を表示するために使用され、テーブルではこれを列データとして表示し、エイリアスはキー値のマッピングとなります)。 |
| series[#].columns |
list |
必須 |
データソースフィールドキーのリスト。固定で['time', 'data']となります。 |
| series[#].values |
list |
必須 |
二次元配列。配列の各項目は1つのデータを表します。ここではデータは1つだけです。 |
| series[#].values[#] |
list |
任意 |
[タイムスタンプ, データ値]で構成されます。長さはseries[#].columnsと一致する必要があります。 |
| series[#].values[#][0] |
str |
任意 |
カラム'time'に対応する値。null も可。 |
| series[#].values[#][1] |
str |
任意 |
カラム'data'に対応する値。その値はシリアル化されたオブジェクトであり、ServiceMap、ResourceMapタイプをサポートします。 |
ServiceMap サービス関係図
トポロジーは円形のノード形式で表示されます。ノード名は一意の識別子として機能し、ノード情報とノード間の接続関係を表示するために使用されます。
{
"services": [
{
"data": {
"__size": 10,
"__fill": 10,
"fieldA": "1.0",
"fieldB": "test"
},
"name": "demo_web",
"type": "web"
},
{
"data": {
"__size": 10,
"__fill": 10,
"fieldA": "1.0",
"fieldB": "test"
},
"name": "demo_framework",
"type": "framework"
}
],
"maps": [
{
"source": "demo_web",
"target": "demo_framework"
}
]
}
フィールド説明
| パラメータ |
型 |
必須 |
説明 |
| services |
list |
必須 |
ノード詳細のリスト |
| services[#] |
dict |
任意 |
ノードの詳細 |
| services[#].name |
string |
必須 |
ノード名。ノードの下部に表示されます。 |
| services[#].type |
string |
必須 |
ノードタイプ。ノード中央のアイコン表示に使用されます(サポートされるタイプ:'web', 'custom', 'cache', 'db', 'app', 'front', 'aws_lambda')。範囲外の場合はデフォルトで'custom'になります。 |
| services[#].data |
dict |
任意 |
ノードの属性 |
| services[#].data.__size |
number |
任意 |
円のサイズフィールドの値。範囲はなく、設定されたサイズに従って自動的に調整されて表示されます。 |
| services[#].data.__fill |
number |
必須 |
塗りつぶし色フィールドの値。この値の範囲は、設定されたグラデーションカラースキームの最大値と最小値の間です。 |
| services[#].data.fieldA |
string/number |
必須 |
ノードのホバー表示コンテンツ。'__size'、'__fill'フィールド以外は、すべてカスタムフィールドとして表示されます。 |
| maps |
list |
必須 |
ノード接続関係のリスト |
| maps[#] |
dict |
任意 |
サービス接続関係(方向:source->target) |
| maps[#].source |
string |
必須 |
開始ノード |
| maps[#].target |
string |
必須 |
対象ノード |
ResourceMap リソース関係図
トポロジーはカードノード形式で表示されます。接続関係は、中央ノードが1つだけ存在する必要があります。serviceResource はカードノード詳細のリストです(service:resource は一意である必要があり、カードノードの一意の識別子として機能します)。maps は中央ノードと他のノード間の接続関係であり、中央ノードが指すノードは中央ノードの右側に、中央ノードを指すノードは中央ノードの左側に配置されます。
{
"serviceResource": [
{
"data": {
"__fill": 10,
"avg_per_second_title": "AAA",
"avg_per_second": 1,
"p99_title": "AAA",
"p99": 1,
"error_rate_title": "AAA",
"error_rate": 1
},
"service": "demo_web",
"resource": "demo_web_resource",
"source_type": "web"
},
{
"data": {
"__fill": 10,
"avg_per_second_title": "AAA",
"avg_per_second": 1,
"p99_title": "AAA",
"p99": 1,
"error_rate_title": "AAA",
"error_rate": 1
},
"service": "demo_framework",
"resource": "demo_framework_resource",
"source_type": "framework"
}
],
"maps": [
{
"source": "demo_web",
"source_resource": "demo_web_resource",
"target": "demo_framework",
"target_resource": "demo_framework_resource"
}
]
}
フィールド説明
| パラメータ |
型 |
必須 |
説明 |
| serviceResource |
list |
必須 |
カードノード詳細のリスト |
| serviceResource[#] |
dict |
任意 |
カードの詳細 |
| serviceResource[#].service |
string |
必須 |
カード下部のテキスト表示内容 |
| serviceResource[#].resource |
string |
必須 |
カード上部のテキスト表示内容 |
| serviceResource[#].source_type |
string |
必須 |
リソースタイプ。ノードのアイコン表示に使用されます(サポートされるタイプ:'web', 'custom', 'cache', 'db', 'app', 'front', 'message')。範囲外の場合はデフォルトで'custom'になります。 |
| serviceResource[#].data |
dict |
任意 |
サービス配下のリソースデータパラメータ |
| serviceResource[#].data.avg_per_second |
number |
任意 |
中央左側に表示される値 |
| serviceResource[#].data.avg_per_second_title |
number |
任意 |
中央左側のホバー表示内容 |
| serviceResource[#].data.error_rate |
number |
任意 |
中央右側に表示される値 |
| serviceResource[#].data.error_rate_title |
number |
任意 |
中央右側のホバー表示内容 |
| serviceResource[#].data.p99 |
number |
任意 |
中央に表示される値 |
| serviceResource[#].data.p99_title |
number |
任意 |
中央右側のホバー表示内容 |
| maps |
list |
必須 |
カードノード接続関係のリスト |
| maps[#] |
dict |
任意 |
カードノードの接続関係(方向 source_resource->target_resource) |
| maps[#].source |
string |
必須 |
serviceResource[#].service と同じ |
| maps[#].source_resource |
string |
必須 |
serviceResource[#].resource と同じ |
| maps[#].target |
string |
必須 |
serviceResource[#].service と同じ |
| maps[#].target_resource |
string |
必須 |
serviceResource[#].resource と同じ |
外部関数レスポンス構造の例
@DFF.API('関数名', category='dataPlatform.dataQueryFunc')
def whytest_topology_test():
now = int(time.time()) * 1000
# ここでのdataは、上記「ServiceMap サービス関係図、ResourceMap リソース関係図」の完全な構造です。
data = {}
return {
"content": [
{
"series": [
{
"columns": ["time", "data"],
"values": [
now, json.dumps(data)
],
"total_hits": 1
}
]
}
]
}