Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 8 additions & 18 deletions powerapps-docs/developer/data-platform/analyze-performance.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "Analyze plug-in performance (Microsoft Dataverse) | Microsoft Docs"
description: "Learn how to find and analyze performance data on plug-ins execution."
ms.date: 02/24/2023
ms.date: 08/15/2023
ms.reviewer: "pehecke"
ms.topic: "article"
author: "divkamath"
Expand All @@ -10,7 +10,7 @@ ms.author: "pehecke"
search.audienceType:
- developer
contributors:
- PHecke
- phecke
---
# Analyze plug-in performance

Expand All @@ -33,22 +33,12 @@ More information: [Best practices and guidance regarding plug-in and workflow de

## Monitor performance

Run-time information about plug-ins and custom workflow extensions is captured and stored in the [PluginTypeStatistic Table](reference/entities/plugintypestatistic.md). These records are populated within 30 minutes to one hour after the custom code executes. This table provides the following data points:

|**Column**|**Description**|
|--|--|
|AverageExecuteTimeInMilliseconds|The average execution time (in milliseconds) for the plug-in type. |
|CrashContributionPercent|The plug-in type percentage contribution to crashes. |
|CrashCount|Number of times the plug-in type has crashed. |
|CrashPercent|Percentage of crashes for the plug-in type. |
|ExecuteCount|Number of times the plug-in type has been executed. |
|FailureCount |Number of times the plug-in type has failed. |
|FailurePercent|Percentage of failures for the plug-in type. |
|PluginTypeIdName|Unique identifier of the user who last modified the plug-in type statistic. |
|TerminateCpuContributionPercent |The plug-in type percentage contribution to Worker process termination due to excessive CPU usage. |
|TerminateHandlesContributionPercent |The plug-in type percentage contribution to Worker process termination due to excessive handle usage. |
|TerminateMemoryContributionPercent|The plug-in type percentage contribution to Worker process termination due to excessive memory usage. |
|TerminateOtherContributionPercent|The plug-in type percentage contribution to Worker process termination due to unknown reasons. |
> [!IMPORTANT]
> This feature is no longer operational or supported. Do not use.
>
> This section will be removed in a future article update.

Run-time information about plug-ins and custom workflow extensions is captured and stored in the [PluginTypeStatistic Table](reference/entities/plugintypestatistic.md). These records are populated within 30 minutes to one hour after the custom code executes.

## Plug-in performance analytics

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ This sample shows how to create and update a record and related records in one c
- [IOrganizationService.Create](/dotnet/api/microsoft.xrm.sdk.iorganizationservice.create)
- [IOrganizationService.Update](/dotnet/api/microsoft.xrm.sdk.iorganizationservice.update)

You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/CreateUpdateRecordsWithRelatedRecords).
> [!div class="nextstepaction"]
> [SDK for .NET: Create and update records with related records (early bound) sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/CreateUpdateRecordsWithRelatedRecords)

[!INCLUDE[cc-terminology](../../includes/cc-terminology.md)]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ search.audienceType:

This sample shows how to delete a simple queue using the [IOrganizationService.Delete](/dotnet/api/microsoft.xrm.sdk.iorganizationservice.delete) message.

You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DeleteQueue).
> [!div class="nextstepaction"]
> [SDK for .NET: Delete a queue (early bound) sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DeleteQueue)

## How to run this sample

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,10 @@ This sample shows how to detect and log multiple duplicate records for a specifi

## What this sample does

The `BulkDetectDuplicatesRequest` message is intended to be used in a scenario that contains data that is needed to submit an asynchronous system job that detects and logs multiple duplicate records. You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DetectMultipleDuplicateRecords).
The `BulkDetectDuplicatesRequest` message is intended to be used in a scenario that contains data that is needed to submit an asynchronous system job that detects and logs multiple duplicate records.

> [!div class="nextstepaction"]
> [SDK for .NET: Detect multiple duplicate records sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DetectMultipleDuplicateRecords)

[!INCLUDE[cc-terminology](../../includes/cc-terminology.md)]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,10 @@ This sample shows how to detect dependencies before you delete a solution compon

## What this sample does

The `RetrieveDependentComponentsRequest`, `RetrieveDependenciesForDeleteRequest` messages are intended to be used in a scenario where it contains data to detect solution dependencies. You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/SolutionDependencies).
The `RetrieveDependentComponentsRequest`, `RetrieveDependenciesForDeleteRequest` messages are intended to be used in a scenario where it contains data to detect solution dependencies.

> [!div class="nextstepaction"]
> [SDK for .NET: Detect solution dependencies sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/SolutionDependencies)

## How this sample works

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ contributors:

# Sample: Determine whether a user has a role

This sample shows how to determine whether a user in Microsoft Dataverse has been associated with a specific role. This is performed by using a query with the [IOrganizationService.RetrieveMultiple](/dotnet/api/microsoft.xrm.sdk.iorganizationservice.retrievemultiple) method. You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DetermineWhetherUserHasRole).
This sample shows how to determine whether a user in Microsoft Dataverse has been associated with a specific role. This is performed by using a query with the [IOrganizationService.RetrieveMultiple](/dotnet/api/microsoft.xrm.sdk.iorganizationservice.retrievemultiple) method.

> [!div class="nextstepaction"]
> [SDK for .NET: Determine whether a user has a role sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DetermineWhetherUserHasRole)

This sample requires an additional user that isn't available in your system. Create the required user manually in **Microsoft 365** in order to run the sample without any errors. For this sample create a user profile **as is** shown below.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ contributors:

This sample shows how to disable and enable a system user account in an online or on-premise/IFD environment.

You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DisableOrEnableUser)
> [!div class="nextstepaction"]
> [SDK for .NET: Disable or enable a user sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DisableOrEnableUser)

## How to run this sample

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ contributors:

# Sample: Download report definition

This sample shows how to download a report definition (.rdl) file by using the [DownloadReportDefinitionRequest](/dotnet/api/microsoft.crm.sdk.messages.downloadreportdefinitionrequest) message. You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DownloadReportDefinition).
This sample shows how to download a report definition (.rdl) file by using the [DownloadReportDefinitionRequest](/dotnet/api/microsoft.crm.sdk.messages.downloadreportdefinitionrequest) message.

> [!div class="nextstepaction"]
> [SDK for .NET: Download report definition sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DownloadReportDefinition)

## How to run this sample

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ contributors:

# Sample: Dump column definitions information to a file

This sample shows how to write out all the column definitions to an `XML` file. It uses the [RetrieveAllEntitiesRequest](/dotnet/api/microsoft.xrm.sdk.messages.retrieveallentitiesrequest) message. You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DumpAttributeInfo).
This sample shows how to write out all the column definitions to an `XML` file. It uses the [RetrieveAllEntitiesRequest](/dotnet/api/microsoft.xrm.sdk.messages.retrieveallentitiesrequest) message.

> [!div class="nextstepaction"]
> [SDK for .NET: Dump column definitions information to a file sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DumpAttributeInfo)

The following sample creates a new file at `\DumpAttributeInfo\bin\Debug\AllAttributeDesc.xml`. You can open this file in **Office Excel** to see a tabular report.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@ contributors:

This sample shows how to write out all table definitions to an `XML` file. It uses the [RetrieveAllEntitiesRequest](/dotnet/api/microsoft.xrm.sdk.messages.retrieveallentitiesrequest) message.

The following sample creates a new file at `\Entities\bin\Debug\EntityInfo.xml`. You can open this file in Office Excel to see a tabular report. You may need this information to discover the entity type code for a custom table for use in reports. You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DumpEntityMetadata).
The following sample creates a new file at `\Entities\bin\Debug\EntityInfo.xml`. You can open this file in Office Excel to see a tabular report. You may need this information to discover the entity type code for a custom table for use in reports.

> [!div class="nextstepaction"]
> [SDK for .NET: Dump table definitions to a file sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DumpEntityMetadata)

## How to run this sample

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ contributors:

# Sample: Dump table privileges information to a file

This sample shows how to write out all the column definitions to an `XML` file. It uses the [RetrieveAllEntitiesRequest](/dotnet/api/microsoft.xrm.sdk.messages.retrieveallentitiesrequest) message. You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DumpEntityPriviliges).
This sample shows how to write out all the column definitions to an `XML` file. It uses the [RetrieveAllEntitiesRequest](/dotnet/api/microsoft.xrm.sdk.messages.retrieveallentitiesrequest) message.

> [!div class="nextstepaction"]
> [SDK for .NET: Dump table privileges information to a file sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DumpEntityPriviliges)

The following sample creates a new file at `\DumpEntityPriviliges\bin\Debug\EntityPrivileges.xml`. You can open this file in **Office Excel** to see a tabular report.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ search.audienceType:

# Sample: Dump table relationships information to a file

This sample shows how to write out all the column definitions to an `XML` file. It uses the [RetrieveAllEntitiesRequest](/dotnet/api/microsoft.xrm.sdk.messages.retrieveallentitiesrequest) message. You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DumpEntityRelationShips).
This sample shows how to write out all the column definitions to an `XML` file. It uses the [RetrieveAllEntitiesRequest](/dotnet/api/microsoft.xrm.sdk.messages.retrieveallentitiesrequest) message.

> [!div class="nextstepaction"]
> [SDK for .NET: Dump table relationships information to a file sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DumpEntityRelationShips)

The following sample creates a new file at `\DumpEntityRelationShips\bin\Debug\RelationshipInfo.xml`. You can open this file in **Office Excel** to see a tabular report.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ contributors:

# Sample: Dump choices information to a file

This sample shows how to write out all the choices column definitions to an `XML` file. It uses the [RetrieveAllOptionSetsRequest](/dotnet/api/microsoft.xrm.sdk.messages.retrievealloptionsetsrequest) message. You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DumpGlobalOptionSetInfo).
This sample shows how to write out all the choices column definitions to an `XML` file. It uses the [RetrieveAllOptionSetsRequest](/dotnet/api/microsoft.xrm.sdk.messages.retrievealloptionsetsrequest) message.

> [!div class="nextstepaction"]
> [SDK for .NET: Dump choices information to a file sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DumpGlobalOptionSetInfo)

The following sample creates a new file at `\DumpGlobalOptionSetInfo\bin\Debug\AllOptionSetValues.xml`. You can open this file in **Office Excel** to see a tabular report.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ contributors:

# Sample: Dump choices/picklist information to a file

This sample shows how to write out all the choices column definitions to an `XML` file. It uses the [RetrieveAllEntitiesRequest](/dotnet/api/microsoft.xrm.sdk.messages.retrieveallentitiesrequest) message. You can download the sample from [here](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DumpPickListInfo).
This sample shows how to write out all the choices column definitions to an `XML` file. It uses the [RetrieveAllEntitiesRequest](/dotnet/api/microsoft.xrm.sdk.messages.retrieveallentitiesrequest) message.

> [!div class="nextstepaction"]
> [SDK for .NET: Dump choices/picklist information to a file sample code](https://github.com/microsoft/PowerApps-Samples/tree/master/dataverse/orgsvc/C%23/DumpPickListInfo)

The following sample creates a new file at `\DumpPickListInfo\bin\Debug\AttributePicklistValues.xml`. You can open this file in **Office Excel** to see a tabular report.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: "Create, add and remove forms, views, or charts in a model-driven app using the app designer | MicrosoftDocs"
description: Learn how to Create, add and remove forms, views or dashboards in a model-driven app.
ms.custom: ""
ms.date: 03/30/2022
ms.date: 08/15/2023
ms.suite: ""
ms.tgt_pltfrm: ""
ms.topic: "how-to"
Expand All @@ -20,14 +20,14 @@ search.audienceType:

Add or remove one or more forms, views, or charts for a model-driven app.

## Manage forms
## Add or remove forms from an app

To add or remove one or more forms for a model-driven app, follow these steps:
To add or remove forms for a model-driven app, follow these steps:

1. In the app designer, on the left navigation pane select **Pages** and then select the table you want to update, such as the **Account form**.
1. On the right properties pane, select **Manage forms**.
1. On the **Manage forms** flyout, select the forms you want to add or remove, and then select **Save**.
:::image type="content" source="media/app-design-manage-forms.png" alt-text="Manage forms interface":::
1. In the app designer, on the left navigation pane select **Pages** and then select a table form, such as the **Contact form**.
1. On the right forms pane, the list of available forms is displayed. Forms that are available in the app appear under **In this app**. Forms available to add but not displayed in the app appear under **Not in this app**.
To remove a form that's displayed, select **...** > **Remove**. To add a form that isn't displayed, select **...** > **Add**.
:::image type="content" source="media/app-design-manage-forms.png" alt-text="Add or remove forms displayed ina model-driven app" lightbox="media/app-design-manage-forms.png":::

> [!NOTE]
> By default, all forms are selected and made available in the app. Select specific forms to enable only those forms you want available in the app.
Expand Down
Loading