DEVOPS

Supporting APM for .NET Applications

My application development career really took hold during the early days of C#. And, to this day, as a bad coder turned advocate, I’m partial to the C# syntax and the .NET framework. So, I’m excited to discuss Splunk’s new functionality to auto-instrument tracing for .NET core applications.

The Splunk engineering and product teams continue to focus on easily getting data into our systems. Now, with Splunk’s observability tools such as SignalFx Microservices APM, we made it easier for .NET application developers to support the operations of their code by automatically instrumenting observability at the code level.

The .NET integration, in addition to our already robust library of tooling for the Microsoft stack, helps make metric collection easy and sustainable.

When building modern applications with microservices architectures, your management processes need to track with the distributed nature and high velocity of these applications. Adhering to the concepts of observability, and the technology behind traces and spans, is required for keeping pace with modern application architectures. The collection of the data out of your services also matters, this is where open-source projects like OpenTracing, OpenCensus and OpenTelemetry come in.

The .NET tracing project is also open-source, including being OpenTracing and OpenTelemetry compatible. The project supports .NET Core 2.0+ applications on Linux or Windows. In addition to helping you add the ability to collect trace data, it will auto-instrument for specific common libraries such as ASP.NET, MongoDB, and GraphQL, for example. The .NET tracing project will create standards for collection across your application and require less effort from developers to instrument.

Getting Started With the Project is Easy

Setup:

  1. Install the CLR Profiler via MSI or package manager
  2. Configure environment variables
  3. Set the endpoint for your SignalFx Smart Agent, or OpenTelemetry Collector
     

Send Data:

  1. To auto-instrument, add the OpenTracing dependency to your project and leverage a GolbalTracer instance to collect any spans in a given context

Observability for modern .NET applications is a critical element to long-term success and support. By joining the SignalFx observability platform with open standards, teams get the added benefit of having a standardized way of ingesting data from their traces and spans across all services and their entire stack.

Supporting the .NET Stack

In Addition to the .NET integration, SignalFx Supports Monitoring Across the Microsoft Stack With:

  1. Metrics for .NET applications
  2. Microsoft Azure and a wide range of Azure services
  3. Microsoft Internet Information Service (IIS)
  4. Microsoft SQL Server
     

All combined, these tools give application teams tremendous visibility into their applications and their cloud infrastructure operations.

With the .NET auto-instrumentation for SignalFx Microservices APM, development teams have visibility into their application at the run-time level. When sending this data to SignalFx, in addition to other metrics across your infrastructure and applications, teams have the ability to support their applications, more quickly identify issues and have the context to support resolution when those issues occur.

Chris Riley
Posted by

Chris Riley

As a bad-coder-turned-technology-advocate, Chris understands the challenges and needs of modern engineers, as well as how technology fits into the broader business goals of companies in a demanding high-tech world.

Chris speaks and engages with end-users regularly in the areas of DevOps, SecOps, and App Dev. He works for Splunk as a Tech Advocate and is a regular contributor to industry blogs such as ContainerJournal.com, DevOps.com and Sweetcode.io. He is also the host of the podcast, Developers Eating the World.

TAGS

Supporting APM for .NET Applications

Show All Tags
Show Less Tags

Join the Discussion