Skip to content
Open
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
3 changes: 3 additions & 0 deletions Document-Processing-toc.html
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,9 @@
</li>
</ul>
</li>
<li>
<a href="/document-processing/telemetry">Telemetry</a>
</li>
<li>
<a href="/document-processing/nuget-packages">NuGet Packages</a>
</li>
Expand Down
173 changes: 173 additions & 0 deletions Document-Processing/Telemetry.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,173 @@
---
title: Telemetry in .NET | Syncfusion
description: Syncfusion® Telemetry collects anonymous usage data in .NET to improve product quality, track feature adoption, and guide product planning.
platform: document-processing
control: general
documentation: UG
---

# Syncfusion<sup>&reg;</sup> Telemetry

Syncfusion<sup>&reg;</sup> Telemetry library collects **anonymous usage data** to improve product quality and user experience. This data helps us better understand product usage, feature adoption, usage trends, and make informed decisions about future product planning.

Telemetry is **enabled by default**. However, you can disable it at any time if required.

N> Telemetry is automatically disabled in production environments. No data is collected from deployed applications or end users.

## Why do we collect anonymous telemetry?

We collect anonymous telemetry data to:

* Understand feature adoption and usage trends
* Identify frequently used components and frameworks
* Prioritize future product planning and investments.
* Detect compatibility trends across:
* .NET versions
* Operating systems
* Development environments

## What data is collected?

Syncfusion<sup>&reg;</sup> collects only a limited set of anonymous usage data during development to understand product usage and improve product planning. The following anonymous data is collected **only in development mode:**

The following data fields are collected by the Syncfusion<sup>&reg;</sup> Telemetry Library:

<table>
<thead>
<tr>
<th><b>Field</b></th>
<th><b>Description</b></th>
</tr>
</thead>
<tbody>
<tr>
<td>Architecture</td>
<td>System architecture information (e.g., x64, x86)</td>
</tr>
<tr>
<td>Component Name</td>
<td>Syncfusion component being used</td>
</tr>
<tr>
<td>Assembly Name</td>
<td>Syncfusion assembly or package in use</td>
</tr>
<tr>
<td>SDK Name</td>
<td>Syncfusion SDK being used</td>
</tr>
<tr>
<td>SDK Version</td>
<td>SDK version shipped with the product</td>
</tr>
<tr>
<td>Framework</td>
<td>Target development framework (e.g., .NET, .NET Core)</td>
</tr>
<tr>
<td>Framework Version</td>
<td>Version of the target framework (e.g., .NET 10.0.9)</td>
</tr>
<tr>
<td>Operating System</td>
<td>Operating system used during development</td>
</tr>
<tr>
<td>Session ID</td>
<td>Unique session identifier (hashed value)</td>
</tr>
<tr>
<td>Event Name</td>
<td>Anonymous product events</td>
</tr>
</tbody>
</table>

N> No user-generated content (e.g., code, files, or personal data) is collected.

## Where Does Telemetry Apply?

Telemetry applies only to the use of Syncfusion<sup>&reg;</sup> products during development.

* It is limited to **developer environments**
* It focuses on **product and feature usage**
* It does **not apply to production applications**
* It does **not collect any data from end users**

Telemetry is designed solely to help improve the development experience and product quality, without impacting productions applications or users.

## Telemetry in Development Mode Only

Telemetry is designed to run only in development environments.
* Enabled by default during development
* Automatically disabled in production builds
* No data is collected from deployed applications
This ensures that telemetry does not affect your application users or production systems

## How to Disable Telemetry (Opt-out)?

You can disable telemetry in Syncfusion<sup>&reg;</sup> .NET products by calling the `Telemetry.Disable()` API before using any Syncfusion<sup>&reg;</sup> product APIs in your application.

### Step 1: Add the telemetry namespace

Add the following namespace in the file where your application starts using Syncfusion<sup>&reg;</sup> components or libraries:

{% tabs %}

{% highlight c# tabtitle="C#" %}
using Syncfusion.Telemetry;
{% endhighlight %}

{% endtabs %}


### Step 2: Disable telemetry at application startup

Call the `Telemetry.Disable()` method before initializing or using any Syncfusion<sup>&reg;</sup> product APIs.

{% tabs %}

{% highlight c# tabtitle="C#" %}
using Syncfusion.Telemetry;

// Disable Syncfusion telemetry data collection.
Telemetry.Disable();
// Your Syncfusion product code follows here after disabling the telemetry.
{% endhighlight %}

{% endtabs %}

Now, the telemetry is disabled, you can continue using Syncfusion<sup>&reg;</sup> .NET products based on your application requirements. The Syncfusion<sup>&reg;</sup> product will work normally, but telemetry data will not be collected or sent.

N> The `Telemetry.Disable()` API should be called, before creating or using any Syncfusion<sup>&reg;</sup> components, or document-processing library objects.

## FAQs

<table>
<thead>
<tr>
<th><b>Exception</b></th>
<th><b>Why am I getting "System.Net.Http.HttpRequestException - No such host is known" error? </b></th>
</tr>
</thead>
<tbody>
<tr>
<td><b>Reason</b></td>
<td>
<p>This error may occur in the following scenarios: </p>
<ul>
<li>'Your application does not have internet connectivity'</li>
<li>'Exception settings are enabled in your application'</li>
</ul>
<p>When exception handling is enabled and the application lacks internet access, the telemetry module attempts to send data to Azure Application Insights, which can trigger this exception.</p>
</td>
</tr>
<tr>
<td><b>Solution</b></td>
<td>
<p>To resolve this error and prevent the exception from being thrown, you can <a href="#how-to-disable-telemetry-opt-out">disable the telemetry</a> in your application. This will turn off telemetry data collection entirely.</p>
</td>
</tr>
</tbody>
</table>