Sdílet prostřednictvím


Referenční informace ke spouštěcímu profilu Služby Azure Cosmos DB pro Apache Gremlin

Důležité

Hledáte databázové řešení pro scénáře ve velkém měřítku s 99,999% smlouvou o úrovni služeb (SLA), okamžitým automatickým škálováním a automatickým převzetím služeb při selhání napříč několika oblastmi? Zvažte Azure Cosmos DB for NoSQL.

Chcete implementovat graf online analytického zpracování (OLAP) nebo migrovat existující aplikaci Apache Gremlin? Zvažte Graph v Microsoft Fabricu.

Tento článek obsahuje referenční informace o funkci profilu spuštění ve službě Azure Cosmos DB pro Apache Gremlin. Vysvětluje strukturu a vlastnosti odpovědi vrácené executionProfile() funkcí.

Odezva

Odpověď executionProfile() vyvolání funkce vrátí hierarchii objektů JSON s následující strukturou.

Operace Gremlin

Tento objekt představuje celou operaci Gremlin, která byla provedena. Tento objekt má název gremlin. Tento objekt obsahuje následující vlastnosti:

Description
gremlin Explicitní příkaz Gremlin, který byl proveden.
totalTime Čas v milisekundách, kdy provádění kroku vzniklo.
metrics Pole, které obsahuje všechny operátory modulu runtime služby Cosmos DB, které byly provedeny za účelem splnění dotazu. Tento seznam je seřazený v pořadí provádění.

Operátory modulu runtime Azure Cosmos DB pro Apache Gremlin

Tento seznam představuje všechny součásti celé operace Gremlin. Seznam má název metrcis. Tento seznam je seřazený v pořadí provádění. Každý objekt obsahuje následující vlastnosti:

Description
name Název operátoru. Tato vlastnost je typ kroku, který byl vyhodnocen a proveden.
time Doba v milisekundách, kterou daný operátor trval.
annotations Obsahuje další informace specifické pro operátor, který byl proveden.
annotations.percentTime Procento celkové doby, kterou trvalo spuštění konkrétního operátoru
counts Počet objektů vrácených z vrstvy úložiště tímto operátorem Tento počet je obsažen ve skalární hodnotě counts.resultCount v rámci.
storeOps Představuje operaci úložiště, která může zahrnovat jeden nebo více oddílů.
storeOps.fanoutFactor Představuje počet oddílů, ke kterým tato konkrétní operace úložiště přistupovala.
storeOps.count Představuje počet výsledků, které tato operace úložiště vrátila.
storeOps.size Představuje velikost v bajtech výsledku dané operace úložiště.

Příklad odpovědi

Tady je příklad odpovědi ve formátu JSON:

[
  {
    "gremlin": "g.V().hasLabel('tweet').out().executionProfile()",
    "totalTime": 42,
    "metrics": [
      {
        "name": "GetVertices",
        "time": 31,
        "annotations": { "percentTime": 73.81 },
        "counts": { "resultCount": 30 },
        "storeOps": [ { "fanoutFactor": 1, "count": 13, "size": 6819, "time": 1.02 } ]
      },
      {
        "name": "GetEdges",
        "time": 6,
        "annotations": { "percentTime": 14.29 },
        "counts": { "resultCount": 18 },
        "storeOps": [ { "fanoutFactor": 1, "count": 20, "size": 7950, "time": 1.98 } ]
      },
      {
        "name": "GetNeighborVertices",
        "time": 5,
        "annotations": { "percentTime": 11.9 },
        "counts": { "resultCount": 20 },
        "storeOps": [ { "fanoutFactor": 1, "count": 4, "size": 1070, "time": 1.19 } ]
      },
      {
        "name": "ProjectOperator",
        "time": 0,
        "annotations": { "percentTime": 0 },
        "counts": { "resultCount": 20 }
      }
    ]
  }
]

Schéma odpovědi

Odpověď také odpovídá tomuto schématu JSON:

[
  {
    "type": "object",
    "properties": {
      "gremlin": { "type": "string" },
      "totalTime": { "type": "number" },
      "metrics": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "name": { "type": "string" },
            "time": { "type": "number" },
            "annotations": {
              "type": "object",
              "properties": {
                "percentTime": { "type": "number" }
              },
              "additionalProperties": true
            },
            "counts": {
              "type": "object",
              "properties": {
                "resultCount": { "type": "number" }
              },
              "additionalProperties": true
            },
            "storeOps": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "fanoutFactor": { "type": "number" },
                  "count": { "type": "number" },
                  "size": { "type": "number" },
                  "time": { "type": "number" }
                },
                "additionalProperties": true
              }
            }
          },
          "additionalProperties": true
        }
      }
    },
    "required": ["gremlin", "totalTime", "metrics"],
    "additionalProperties": true
  }
]

Operátoři

Description
GetVertices Tento krok získá predikovanou sadu objektů z vrstvy trvalosti.
GetEdges Tento krok získá hrany, které jsou blízko sady vrcholů. Tento krok může vést k jedné nebo mnoha operacím úložiště.
GetNeighborVertices Tento krok získá vrcholy, které jsou připojeny k sadě hran. Hrany obsahují klíče oddílů a jedinečné identifikátory jejich zdrojového i cílového vrcholu.
Coalesce Tento krok odpovídá vyhodnocení dvou operací při každém coalesce() spuštění kroku Gremlin.
CartesianProductOperator Tento krok vypočítá kartézský součin mezi dvěma datovými sadami. Provede se při každém použití predikátů to() nebo from() použití.
ConstantSourceOperator Tento krok vypočítá výraz, který v důsledku toho vytvoří konstantní hodnotu.
ProjectOperator Tento krok připraví a serializuje odpověď pomocí výsledku předchozích operací.
ProjectAggregation Tento krok připraví a serializuje odpověď pro agregační operaci.