TelemetrySelector.Community.Serialization.Json 1.0.0-RC.1

This is a prerelease version of TelemetrySelector.Community.Serialization.Json.
dotnet add package TelemetrySelector.Community.Serialization.Json --version 1.0.0-RC.1
                    
NuGet\Install-Package TelemetrySelector.Community.Serialization.Json -Version 1.0.0-RC.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="TelemetrySelector.Community.Serialization.Json" Version="1.0.0-RC.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="TelemetrySelector.Community.Serialization.Json" Version="1.0.0-RC.1" />
                    
Directory.Packages.props
<PackageReference Include="TelemetrySelector.Community.Serialization.Json" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add TelemetrySelector.Community.Serialization.Json --version 1.0.0-RC.1
                    
#r "nuget: TelemetrySelector.Community.Serialization.Json, 1.0.0-RC.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package TelemetrySelector.Community.Serialization.Json@1.0.0-RC.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=TelemetrySelector.Community.Serialization.Json&version=1.0.0-RC.1&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=TelemetrySelector.Community.Serialization.Json&version=1.0.0-RC.1&prerelease
                    
Install as a Cake Tool

TelemetrySelector.Community

The Community edition of the TelemetrySelector library.

TelemetrySelector.Community is a source-available .NET library focused on improving control over Application Insights telemetry filtering, sampling, and selection.

The project is designed for community users who need more control over telemetry volume, telemetry relevance, and Application Insights costs in ASP.NET Core and .NET applications.


Why TelemetrySelector.Community Exists

Modern applications often generate excessive telemetry.

In many systems:

  • low-value telemetry creates noise
  • ingestion costs become expensive
  • default sampling strategies are too generic
  • filtering logic becomes repetitive across projects
  • tooling is not designed to be configured on the flight

TelemetrySelector.Community was created to provide:

  • more intelligent telemetry filtering
  • selective telemetry retention
  • configurable decision rules
  • hability to change configuration during runtime without restart
  • better control over telemetry pipelines
  • extensibility for custom selection logic

Main Goals

  • Reduce unnecessary telemetry
  • Improve signal-to-noise ratio
  • Help reduce Application Insights ingestion costs
  • Provide customizable filtering behavior
  • Support ASP.NET Core and .NET applications
  • Allow rule-based telemetry selection
  • Support advanced telemetry processing scenarios

Features

  • Configurable telemetry filtering
  • Rule-based telemetry selection
  • Extensible filtering pipeline
  • Support for custom logic
  • Integration with Application Insights
  • ASP.NET Core integration
  • Flexible runtime behavior
  • Designed for high-volume environments

Installation

Install-Package TelemetrySelector.Community

or

dotnet add package TelemetrySelector.Community

##Note

We suggest you to install

  • the TelemetrySelector.Community.Extensions.DependencyInjection library for dependecy injection
  • the TelemetrySelector.Community.Serialization.Json for json serialization

Both libraries extend on TelemetrySelector.Community and provide additional functionaly that is commonly required by applications.


Basic Example

builder.Services.AddTelemetrySelector();

...

app.UseMiddleware<TelemetryItemTagger>();

See the ASP.NET Core web app created as an example on how to use, configure and synchronize multiple application instances.

/examples/AspNetCoreWebApp

Intended Usage

TelemetrySelector.Community is intended for:

  • personal projects
  • study and experimentation
  • public open-source projects
  • non-profit usage
  • educational usage

Commercial production usage requires a commercial license. The library is intended to cost you way less that it saves you. Also to be cheaper that designing, doing it, testing, everything yourself. For commercial licenses, see Commercial Licensing


Commercial Licensing

TelemetrySelector.Community is NOT Open Source software as defined by the Open Source Initiative (OSI).

The Community Edition is source-available and licensed under the terms described in LICENSE.md.

If your usage does not fit the Community license terms, you must obtain a commercial license.

Contact:


Contributing

Contributions are welcome.

By contributing to this repository, you agree that your contributions may be used in:

  • the Community Edition
  • the Commercial Edition
  • future versions of the product

See LICENSE.md for details.


Third-Party Notices

See:

THIRD-PARTY-NOTICES.md

for third-party dependency information.


License

This repository uses the TelemetrySelector.Community License.

See:

LICENSE.md

for details.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-RC.1 70 6/27/2026