AppDynamics.Agent 2022.1.0-beta1

.NET Standard 2.0
This is a prerelease version of AppDynamics.Agent.
There is a newer version of this package available.
See the version list below for details.
Install-Package AppDynamics.Agent -Version 2022.1.0-beta1
dotnet add package AppDynamics.Agent --version 2022.1.0-beta1
<PackageReference Include="AppDynamics.Agent" Version="2022.1.0-beta1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AppDynamics.Agent --version 2022.1.0-beta1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: AppDynamics.Agent, 2022.1.0-beta1"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install AppDynamics.Agent as a Cake Addin
#addin nuget:?package=AppDynamics.Agent&version=2022.1.0-beta1&prerelease

// Install AppDynamics.Agent as a Cake Tool
#tool nuget:?package=AppDynamics.Agent&version=2022.1.0-beta1&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Real user monitoring for your Xamarin app.

Product Versions
.NET net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows
.NET Core netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1
.NET Standard netstandard2.0 netstandard2.1
.NET Framework net461 net462 net463 net47 net471 net472 net48
MonoAndroid monoandroid monoandroid81
MonoMac monomac
MonoTouch monotouch
Tizen tizen40 tizen60
Xamarin.iOS xamarinios xamarinios10
Xamarin.Mac xamarinmac
Xamarin.TVOS xamarintvos
Xamarin.WatchOS xamarinwatchos
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on AppDynamics.Agent:

Package Downloads
AppDynamics.Agent.Forms

Real user monitoring for your Xamarin Forms app.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2022.5.0 327 5/10/2022
2022.5.0-alpha2 65 4/29/2022
2022.4.0 115 4/20/2022
2022.4.0-beta2 37 4/19/2022
2022.4.0-alpha1 49 3/17/2022
2022.3.0 7,752 3/17/2022
2022.3.0-alpha5 44 3/9/2022
2022.2.0 854 2/14/2022
2022.1.0-beta1 52 1/21/2022
2021.9.0 5,100 9/15/2021
2021.8.1 302 8/17/2021
2021.8.0 521 8/11/2021
2021.6.1 200 7/28/2021
2021.6.0 374 6/25/2021
2021.5.1 61,167 5/20/2021
2021.2.0 93,573 2/19/2021
2020.11.0 64,854 11/19/2020
2020.10.0 336 11/10/2020
2020.4.0 73,516 4/6/2020
2020.3.3 469 3/16/2020
50.3.1101 3,376 1/27/2020
50.3.1099 698 12/5/2019
50.2.1066 771 9/30/2019
50.2.1064 8,829 7/26/2019
50.2.1060 24,272 5/30/2019
50.1.1048 12,377 4/17/2019
50.1.1033 225,595 3/21/2019
50.0.1010 532 2/21/2019
45.6.962 1,858 1/16/2019
45.5.920 615 12/4/2018
45.4.895 4,621 10/25/2018
45.2.865 954 10/5/2018
45.1.806 1,780 8/29/2018
45.0.671 41,635 7/11/2018
44.3.476 4,242 5/3/2018
44.1.288 1,796 1/19/2018
44.0.218 54,233 11/2/2017
43.7.228 921 10/13/2017
43.5.149 1,519 8/9/2017
43.3.1 17,210 6/15/2017
43.3.0 822 6/8/2017
43.3.0-beta1-ge9c917f2878 883 5/14/2017
43.2.0-beta1-gb128ad4 871 4/7/2017
43.0.0-beta2-gb9950dc 848 3/8/2017
20.3.2 362 3/13/2020
20.3.1 304 3/10/2020

Version: 2022.1.0-beta1

Native Agents: com.appdynamics.eum.android:mobile-android:21.6.0.2076, com.appdynamics.eum:mobile-ios:2021.8.1.2573

Changes:

Version 2022.1.0 brings Automatic Network Instrumentation for Xamarin applications. This is handled via a separate library, called AppDynamics.Agent.AutoInstrument.Fody, so to use it, make sure the new library is included alongside the existing AppDynamics.Agent / AppDynamics.Agent.Forms library. In order for it to properly work, do not forget to update the AppDynamics.Agent version to the latest version as well, 2022.1.0.

Automatic Instrumentation will work for these two scenarios:
- Requests sent using the HttpClient. We will automatically inject the instrumentation code for you, targeting the HttpClient constructor.
- Requests sent using the Refit library. We will automatically inject the instrumentation code for you when you are sending requests using the Refit RestService.

> How to use

1. Make sure you already have the AppDynamics.Agent / AppDynamics.Agent.Forms package set up and initialised.
2. Add the new AppDynamics.Agent.AutoInstrument.Fody package.
3. Build the solution.

Normally, after you build the solution, two files will be generated automatically:
1. FodyWeavers.xml
2. FodyWeavers.xsd

These files should be checked into source control!  

Note1: If the above files are not generated automatically, a new file called FodyWeavers.xml should be created manually having the content as below:
- - -
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
 <AppDynamics.Agent.AutoInstrument />
</Weavers>
- - -

Note2: If the project is already using Fody, these files will already be there and only the FodyWeavers.xml file has to be updated to include the AppDynamics.Agent.AutoInstrument weaver.  Example:
- - -
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
 ... Existing weavers ...
 <AppDynamics.Agent.AutoInstrument />
</Weavers>
- - -


> Customize automatic instrumentation

There are two ways of enabling or disabling Automatic Http instrumentation:

1. Global Switch

You can enable or disable HttpInstrumentation using the FodyWeavers.xml file, via the NetworkInstrumentationEnabled flag. Example:
- - -
<Weavers xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FodyWeavers.xsd">
 ... Existing weavers ...
 <AppDynamics.Agent.AutoInstrument NetworkInstrumentationEnabled="true"/>
</Weavers

2. Per class switch

You can enable or disable network instrumentation per class using two different attributes: EnableNetworkInstrumentation or DisableNetworkInstrumentation.

- - -
[EnableNetworkInstrumentation]
public class MyClass
{
   ...
}
- - -

- - -
[DisableNetworkInstrumentation]
public class MyClass
{
   ...
}
- - -

This means that you can either:
1. Enable the automatic instrumentation at a project level from the FodyWeavers.xml file, but exclude some files using the DisableNetworkInstrumentation attribute.
2. Disable the automatic instrumentation at a project level from the FodyWeavers.xml file, but include some files using the EnableNetworkInstrumentation attribute.