DEV.co
Open-Source Observability · SkyAPM

SkyAPM-dotnet

SkyAPM-dotnet is an open-source auto-instrumentation agent for .NET and ASP.NET Core applications that collects distributed tracing, topology, and metrics data and reports it to an Apache SkyWalking backend. It integrates via environment variables and NuGet packages with minimal code changes.

Source: GitHub — github.com/SkyAPM/SkyAPM-dotnet
1.7k
GitHub stars
332
Forks
C#
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
RepositorySkyAPM/SkyAPM-dotnet
OwnerSkyAPM
Primary languageC#
LicenseApache-2.0 — OSI-approved
Stars1.7k
Forks332
Open issues3
Latest releasev2.3.0 (2026-06-28)
Last updated2026-06-28
Sourcehttps://github.com/SkyAPM/SkyAPM-dotnet

What SkyAPM-dotnet is

A C# instrumentation agent that auto-instruments .NET8.0+ and .NET10.0 applications using hosting startup assemblies, collecting telemetry over the sw8/v8 protocol and supporting gRPC and Kafka transports to SkyWalking backends. Provides span context propagation, service topology discovery, and application metrics without explicit SDK calls.

Quickstart

Get the SkyAPM-dotnet source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/SkyAPM/SkyAPM-dotnet.gitcd SkyAPM-dotnet# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

ASP.NET Core Microservices Observability

Deploy across a microservices architecture running .NET Core to gain distributed request tracing, service dependency visualization, and performance bottleneck identification without modifying application code.

Legacy .NET Framework Integration

Add observability to existing .NET Framework or .NET Core applications already bound to an Apache SkyWalking backend by leveraging SkyAPM.Agent.GeneralHost for non-web workloads.

Multi-Protocol Observability Pipeline

Organizations running SkyWalking infrastructure that require both gRPC and Kafka transport options for telemetry delivery across hybrid or edge deployments.

Implementation considerations

  • Activation requires ASPNETCORE_HOSTINGSTARTUPASSEMBLIES environment variable and SKYWALKING__SERVICENAME configuration; automation of these for containerized deployments is essential.
  • Auto-instrumentation covers common components (HTTP clients, databases, caches per supported-component list in documentation); custom or proprietary libraries may require plugin development.
  • Memory and CPU overhead of continuous instrumentation and telemetry collection should be profiled in staging; no performance benchmarks provided in public sources.
  • Agent runs with application process privileges; ensure threat model accounts for agent compromise exposing request payloads and service topology to SkyWalking backend.
  • NuGet package version management and transitive dependency updates must be monitored; v2.3.0 release timing (2026-06-28) suggests future maintenance.

When to avoid it — and what to weigh

  • No SkyWalking Backend Infrastructure — The agent exports exclusively to Apache SkyWalking backend; if your observability stack uses Datadog, New Relic, Elastic, or Prometheus, this agent is not compatible.
  • Unsupported .NET Versions — The project explicitly supports only net8.0 and net10.0; applications on net6.0, net7.0, or older .NET Framework versions outside the agent's scope require alternative solutions or version upgrades.
  • Vendor Lock-in Concerns — SkyWalking protocol dependency creates tight coupling; switching observability backends requires agent replacement and telemetry re-plumbing.
  • Production Security Audits Required — The agent performs auto-instrumentation at runtime with elevated permissions; organizations requiring formal security certification or compliance pre-approval should conduct custom audits before deployment.

License & commercial use

Apache License 2.0 (permissive OSI license). Free for commercial use, modification, and distribution with Apache 2.0 notice provided.

Apache 2.0 is a permissive license allowing commercial use without fee. No trademark or patent restrictions noted in provided data. Ensure SkyWalking backend (which the agent depends on) is also appropriately licensed or provisioned for your use case.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Agent performs runtime bytecode instrumentation and captures request/response data; ensure SkyWalking backend access is restricted and encrypted (TLS for gRPC/Kafka). No formal security audit data provided. Review captured payload sensitivity (headers, query strings, body) in production configurations. Agent inherits application privilege scope; compromise could expose service topology and request patterns.

Alternatives to consider

OpenTelemetry .NET (with Jaeger/Otlp exporters)

Vendor-agnostic instrumentation standard supporting multiple backends (Datadog, Elastic, Jaeger, Grafana). More mature ecosystem and wider adoption; requires explicit exporter/collector setup.

Dynatrace OneAgent .NET

Commercial APM with auto-instrumentation for .NET; tighter integration and support. Proprietary licensing; not open-source.

New Relic .NET Agent

Commercial SaaS APM with auto-instrumentation; minimal configuration overhead. Vendor lock-in and per-host/throughput pricing.

Software development agency

Build on SkyAPM-dotnet with DEV.co software developers

SkyAPM-dotnet is available on NuGet. Start with the getting-started guide at skyapm.github.io/SkyAPM-dotnet and ensure your SkyWalking backend is configured first.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

SkyAPM-dotnet FAQ

Does this agent work with .NET Framework 4.x or .NET 6/7?
No. SkyAPM-dotnet v2.3.0 explicitly supports only net8.0 and net10.0. Older .NET Framework and .NET Core versions are not listed as supported; upgrade or use an alternative agent.
What if we don't use Apache SkyWalking as our backend?
This agent is tightly coupled to SkyWalking protocol (sw8/v8). It does not support exporting to Datadog, New Relic, Prometheus, or other observability platforms. Switching backends requires switching agents.
Is the agent secure for production?
The agent is open-source and permissively licensed, but no formal security audit data is provided. Review its instrumentation scope, captured data sensitivity, and SkyWalking backend access controls before production deployment. Threat model the agent process privilege escalation risk.
How do I enable tracing across microservices?
The agent auto-propagates trace context via sw8 headers in HTTP requests. Install the agent on each .NET service, configure SKYWALKING__SERVICENAME and backend endpoints, and ensure services share the same SkyWalking backend for correlation.

Software development & web development with DEV.co

DEV.co is a software development agency delivering custom software development services to companies building on open source. Our software developers and web developers design, integrate, and ship production systems — spanning web development, APIs, AI, data, and cloud. If SkyAPM-dotnet is part of your open-source observability roadmap, our team can implement, customize, migrate, and maintain it.

Ready to instrument your .NET services?

SkyAPM-dotnet is available on NuGet. Start with the getting-started guide at skyapm.github.io/SkyAPM-dotnet and ensure your SkyWalking backend is configured first.