---
title: "Enable or disable performance counters"
slug: "enable-or-disable-performance-counters"
abstract: "How to enable or disable storing of Sitecore performance counters in Windows Counters or in Azure Application Insights."
---
# Enable or disable performance counters

To help you analyze performance and troubleshoot issues, Sitecore stores many performance counters. The counters keep track of how many times an item was accessed, the number of operations against the database, the amount of messages sent to the log, and more.

For on-premise installations, performance counters are stored in Windows Counters. For cloud installations, counters are stored in Azure Application Insights.

> [!important]
> Storing counters in Azure is not free. By default, the performance counters are *disabled* in on-premise and Azure deployments, for both Core roles and XP Services roles.

To enable or disable counter storing for one or more roles, you must edit or rename the configuration files depending on the roles and the deployment.

> [!note]
> If you are deploying an XP Scaled (XP1) installation, you must repeat the configuration procedure for every role that you want to enable or disable performance counters on.

<details>
<summary><h2>Configure performance counters for both Core and XP Services roles before installation</h2></summary>

Before installation, you can configure performance counters for Core and XP Services roles deployed on Azure.

To configure performance counters for Core and XP Services roles deployed on Azure:

1. Go to the `azuredeploy.json` file.
2. To enable performance counters, set the `storeSitecoreCountersApplicationInsights` setting to `true`.

    ```csharp
    "storeSitecoreCountersInApplicationInsights": {
        "type": "bool",
        "defaultValue": true
    }
    ```

If you want to disable performance counters again and return to the default configuration, set the `storeSitecoreCountersApplicationInsights` setting to `false`.

```csharp
"storeSitecoreCountersInApplicationInsights": {
    "type": "bool",
    "defaultValue": false
}

```

</details>

<details>
<summary><h2>Configure performance counters only for XP Services roles before installation</h2></summary>

Before installation, you can configure performance counters for XP Services roles deployed on Azure separately from Core roles.

To configure performance counters for XP Services roles deployed on Azure separately from Core roles:

1. Go to the `azuredeploy.json` file.
2. To enable performance counters, set the `xpPerformanceCountersType` setting to `ApplicationInsights`.

    ```csharp
    "xpPerformanceCountersType": {
        "value": "ApplicationInsights"
    }
    ```

If you want to disable performance counters again and return to the default configuration, set the `xpPerformanceCOuntersType` setting to `Disable`.

```csharp
"xpPerformanceCountersType": {
    "value": "Disable"
}

```

</details>

<details>
<summary><h2>Configure performance counters for Core roles after installation</h2></summary>

After installation, you can configure performance counters for Core roles deployed on-premise and on Azure.

### Core roles deployed on premise

To configure performance counters for Core roles deployed on-premise:

1. Go to the `\App_Config\Sitecore.config` file.
2. To enable the creation of the performance counters file, set the `interval` setting to `01:00:00`.

    ```xml
    <agent type="Sitecore.Tasks.CounterDumpAgent" method="Run" interval="`01:00`:00">
        <DumpFile>$(dataFolder)/diagnostics/counters/counters.{date}.{time}.{processid}.txt</DumpFile>
    </agent>
    ```

3. To enable performance counters, set the `Counters.Enabled` setting to `true`.

    ```text
    <setting name="Counters.Enabled" value="true" />
    ```

If you want to disable performance counters again and return to the default configuration, set the `interval` setting to `00:00:00` and the `Counters.Enabled` setting to `false`.

```xml
<agent type="Sitecore.Tasks.CounterDumpAgent" method="Run" interval="00:00:00">
    <DumpFile>$(dataFolder)/diagnostics/counters/counters.{date}.{time}.{processid}.txt</DumpFile>
</agent>

```

```text
<setting name="Counters.Enabled" value="false" />

```

### Core roles deployed on Azure

To configure performance counters for Core roles deployed on-premise:

1. Go to the `\App_Config\Sitecore.Cloud.ApplicationInsights.config` file.
2. To enable the performance counters, set the `Counters.Enabled` setting to `true`.

    ```text
    <setting name="Counters.Enabled" value="true" />
    ```

If you want to disable performance counters again and return to the default configuration, set the `Counters.Enabled` setting to `false`.

```text
<setting name="Counters.Enabled" value="false" />

```

</details>

<details>
<summary><h2>Configure performance counters for XP Services roles after installation</h2></summary>

After installation, you can configure performance counters for XP Services roles deployed on-premise and on Azure.

### XP Services roles deployed on premise

To configure performance counters for XP Services roles deployed on-premise:

1. Go to the `\App_Data\Config\Sitecore\CoreServices\sc.PerformanceCounters.Initialize.xml` file.
2. To enable performance counters, set the `PerformanceCounters` setting to `Windows`.

    ```xml
    <Settings>
        <Sitecore>
            <XConnect>
                <Initialize>
    <PerformanceCounters>Sitecore:XConnect:Diagnostics:PerformanceCounters:Windows</PerformanceCounters>
                </Initialize>
            </XConnect>
        </Sitecore>
    </Settings>
    ```

3. You must repeat this enable or disable procedure for all relevant roles.

If you want to disable performance counters again and return to the default configuration, set the `PerformanceCounters` setting to `Disable`.

```xml
<Settings>
    <Sitecore>
        <XConnect>
            <Initialize
<PerformanceCounters>Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable</PerformanceCounters>
            </Initialize>
        </XConnect>
    </Sitecore>
</Settings>

```

### XP Services roles deployed on Azure

To configure performance counters for XP Services roles deployed on Azure:

1. Ensure that Application Insights are enabled in Azure.
2. Go to the `\App_Data\Config\Sitecore\CoreServices\sc.PerformanceCounters.Initialize.xml` file.
3. To enable performance counters, set the `PerformanceCounters` setting to `ApplicationInsights`.

    ```xml
    <Settings>
        <Sitecore>
            <XConnect>
                <Initialize>
    <PerformanceCounters>Sitecore:XConnect:Diagnostics:PerformanceCounters:ApplicationInsights</PerformanceCounters>
                </Initialize>
            </XConnect>
        </Sitecore>
    </Settings>
    ```

4. You must repeat this procedure for all relevant roles.

If you want to disable performance counters again and return to the default configuration, set the `PerformanceCounters` setting to `Disable` for all relevant roles.

```xml
<Settings>
    <Sitecore>
        <XConnect>
            <Initialize
<PerformanceCounters>Sitecore:XConnect:Diagnostics:PerformanceCounters:Disable</PerformanceCounters>
            </Initialize>
        </XConnect>
    </Sitecore>
</Settings>

```

</details>