コンテンツにスキップ

トポロジーデータ構造の説明

フィールド説明

パラメータ 型 必須 説明
column_names list 数値に対応する列名の集合。外部関数データソースの場合、この値はseries データに基づいて自動的に入力されます
column_names[#] str
series list 必須 データグループ。長さはデータグループの数を表します(トポロジービューでは1グループのみ)
series[#] dict 1つのデータグループ
series[#].tags dict データ関連属性(データの関連属性を表示するために使用。テーブルでは列データとして表示され、key値のマッピングのエイリアス)
series[#].columns list 必須 データソースフィールドのkeyリスト。固定で['time', 'data']
series[#].values list 必須 2次元配列。配列の各項目は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
          }
        ]
      }
    ]
  }

フィードバック

このページは役に立ちましたか?