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.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | SkyAPM/SkyAPM-dotnet |
| Owner | SkyAPM |
| Primary language | C# |
| License | Apache-2.0 — OSI-approved |
| Stars | 1.7k |
| Forks | 332 |
| Open issues | 3 |
| Latest release | v2.3.0 (2026-06-28) |
| Last updated | 2026-06-28 |
| Source | https://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.
Get the SkyAPM-dotnet source
Clone the repository and explore it locally.
git clone https://github.com/SkyAPM/SkyAPM-dotnet.gitcd SkyAPM-dotnet# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
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.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Strong |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
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.
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.coRelated 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?
What if we don't use Apache SkyWalking as our backend?
Is the agent secure for production?
How do I enable tracing across microservices?
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.