UiPath Installation and Upgrade

The UiPath Installation and Upgrade Guide

Enabling Table Grouping

For large deployments where the number of processes and queues in production approaches the per tenant limit, the number of tables created in the Insights data cube can impact performance. This occurs because Insights creates a custom table for each process or queue which has a custom field added (i.e. the Log Message activity or Custom Schemas for queue items).

To avoid any such performance degradation you must disable the creation of per processes and/or per queue tables in the cube and then enable table grouping. Note that these two settings are independent and can be configured in the manner that best suits your environment (e.g. you have a lot a queues but few processes) by changing the Boolean parameter(s) in either of Powershell or SQL methods detailed below.

  1. Using the UiPath.InsightsAdminTool first used to enable the tenant(s), select the Group Data Tables feature.
  2. Select the tenant(s) for which to enable table grouping.
  3. Provide the Grouping Definition File.

📘

Note:

If you want to use table grouping and also have per process/queue tables on (e.g. Insights.perProcessTables set to True and Insights.perQueueTables set to False) your groups must include every (in this example) queue that you want in the grouped table.

Grouping Definition File

You must provide a .json file with your desired table groupings when executing the UiPath.InsightsAdminTool, using the following schema definition:

{
  "definitions": {},
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "http://example.com/root.json",
  "type": "object",
  "title": "The Root Schema",
  "required": [
    "groups"
  ],
  "properties": {
    "groups": {
      "$id": "#/properties/groups",
      "type": "array",
      "title": "The Groups Schema",
      "items": {
        "$id": "#/properties/groups/items",
        "type": "object",
        "title": "The Items Schema",
        "required": [
          "tenantId",
          "elasticubeNameTemplate",
          "groupName",
          "dataSource"
        ],
        "properties": {
          "tenantId": {
            "$id": "#/properties/groups/items/properties/tenantId",
            "type": "integer",
            "title": "The Tenantid Schema",
            "default": 0,
            "examples": [
              3
            ]
          },
          "elasticubeNameTemplate": {
            "$id": "#/properties/groups/items/properties/elasticubeNameTemplate",
            "type": "string",
            "title": "The Elasticubenametemplate Schema",
            "default": "",
            "examples": [
              "{TENANT}-Cube"
            ],
            "pattern": "^{TENANT}-(.*)$"
          },
          "groupName": {
            "$id": "#/properties/groups/items/properties/groupName",
            "type": "string",
            "title": "The Groupname Schema",
            "default": "",
            "examples": [
              "Group_1"
            ],
            "pattern": "^(.*)$"
          },
          "dataSource": {
            "$id": "#/properties/groups/items/properties/dataSource",
            "type": "string",
            "title": "The Datasource Schema",
            "default": "",
            "enum": [
              "Process",
              "Queue"
            ],
            "pattern": "^(.*)$"
          },
          "likeGrouping": {
            "$id": "#/properties/groups/items/properties/likeGrouping",
            "type": "object",
            "title": "The Likegrouping Schema",
            "required": [
              "likeClause"
            ],
            "properties": {
              "likeClause": {
                "$id": "#/properties/groups/items/properties/likeGrouping/properties/likeClause",
                "type": "string",
                "title": "The Likeclause Schema",
                "default": "",
                "examples": [
                  "%1",
                  "test",
                  "%"
                ],
                "pattern": "^(.*)$"
              },
              "excludeLikeClause": {
                "$id": "#/properties/groups/items/properties/likeGrouping/properties/excludeLikeClause",
                "type": "string",
                "title": "The Excludelikeclause Schema",
                "default": "",
                "examples": [
                  "%1",
                  "test",
                  "%"
                ],
                "pattern": "^(.*)$"
              }
            }
          },
          "inGrouping": {
            "$id": "#/properties/groups/items/properties/likeGrouping",
            "type": "object",
            "title": "The Ingrouping Schema",
            "required": [
              "elements"
            ],
            "properties": {
              "elements": {
                "$id": "#/properties/groups/items/properties/likeGrouping/properties/likeClause",
                "type": "array",
                "title": "The Elements Schema",
                "default": "",
                "pattern": "^(.*)$"
              }
            }
          }
        }
      }
    }
  }
}

Where:

  • groupName - The name that the table will have in the Insights cube.
  • tenantId - The Id of the tenant the grouping is applied to.
  • dataSource - Whether the data source is a Process or Queue.
  • Optional: elasticcubeNameTemplate - The name of the Insights cube, default {TENANT}-Cube. Specify this if the grouped tables should go to a different cube. For example, {TENANT}-DocCube. The tenant name will be substituted when the table is created, so if the Default tenant is being targeted, the table would be added to Default-DocCube.

例如:

{
  "groups": [
    {
      "groupName": "Group_1",
      "tenantId": 3,
      "dataSource": "Process",
      "likeGrouping": {
        "likeClause": "%1"
      }
    },
    {
      "groupName": "Group_3",
      "tenantId": 3,
      "dataSource": "Process",
      "likeGrouping": {
        "likeClause": "%3",
        "excludeLikeClause": "%Environment_1%"
      }
    },
    {
      "groupName": "Doc_1+2",
      "tenantId": 3,
      "elasticubeNameTemplate": "{TENANT}-DocCube",
      "dataSource": "Queue",
      "inGrouping": {
        "elements": ["Doc", "Doc2"]
      }
    },
    {
      "groupName": "TestQueues",
      "tenantId": 3,
      "elasticubeNameTemplate": "{TENANT}-Test-Cube",
      "dataSource": "Queue",
      "likeGrouping": {
        "likeClause": "%Test"
      }
    }
  ]
}

5个月前更新


Enabling Table Grouping


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.