.NET

TracesMetricsApp LogsCustom LogsProfiling

This guide walks you through setting up Application Performance Monitoring (APM) on a .NET application. These instructions can also be found on the Installation page in your Middleware Account. View example code here.

Prerequisites

1 Infra Agent

Infrastructure Agent (Infra Agent). To install the Infra Agent, see our Installation Guide.

2 .NET Version

.NET version 6+. Check your .NET version with the following command:

Install

Step 1: Install .NET APM Package

Step 1a: Run the following command in your terminal

Step 1b: Install core files

Step 1c: Enable execution for the instrumentation script

Step 2: Setup Middleware .NET Project

Download the latest Middleware.dll and add the following code in the .csproj file.

Step 3: Container Variables

Applications running in a container require an additional environment variable. If your application is not running in a container, move to Step 4.

Kubernetes

Add the following environment variable to your container:

The default namespace for running the Middleware agent is mw-service.mw-agent-ns.svc.cluster.local.

Docker

Add the following environment variables to your container:

The DOCKER_BRIDGE_GATEWAY_ADDRESS is the IP address of the gateway between the Docker host and bridge network. This is 172.17.0.1 by default. Learn more about Docker bridge networking here

Specify your HTTP ports and URL with the following:

This only applies to .NET projects using the ASP framework.

Step 4: Enable Custom Logs [Optional]

Step 4a: Add the following functions:

Step 4b: Add packages to YourApp.csproj file

Step 4c: Enable Logs in your project.cs file

Step 5: Build and Run .NET Application

Execute the following command to build and run your .NET application:

Azure App Service Configuration

Step 1: Install the Required Package

Add the Middleware package to your .NET project by running the following command:

Step 2: Add Code Configuration

Add the following code to your Program.cs file:

Step 3: Configure Your Middleware Account Information

Add the following to your appsettings.json file:

This is a one-time configuration. After these configuration changes are made, each time the Azure Pipeline is run the .NET instrumentation will also run.

Continuous Profiling

Continuous profiling captures real-time performance insights from your application to enable rapid identification of resource allocation, bottlenecks, and more. Navigate to the Continuous Profiling section to learn more about using Continuous Profiling with the .NET APM.

Need assistance or want to learn more about Middleware? Contact our support team in Slack.