Awesome
SkyAPM C#/.NET instrument agent
<img src="https://skyapmtest.github.io/page-resources/SkyAPM/skyapm.png" alt="Sky Walking logo" height="90px" align="right" />Apache SkyWalking is an APM designed for microservices, cloud native and container-based (Docker, K8s, Mesos) architectures. SkyAPM-dotnet provides the native support agent in C# and .NETStandard platform, with help from the Apache SkyWalking committer team.
CI Build Status
Platform | Build Server | Master Status |
---|---|---|
AppVeyor | Windows/Linux |
Nuget Packages
Package Name | NuGet | MyGet | Downloads |
---|---|---|---|
SkyAPM.Agent.AspNetCore | |||
SkyAPM.Agent.GeneralHost |
MyGet feed URL https://www.myget.org/F/skyapm-dotnet/api/v3/index.json
Supported
- This project currently supports apps targeting netcoreapp3.1、net5.0、net6.0 or higher.
- Supported middlewares, frameworks and libraries.
Features
A quick list of SkyWalking .NET Core Agent's capabilities
- Application Topology
- Distributed Tracing
- ASP.NET Core Diagnostics
- HttpClient Diagnostics
- EntityFrameworkCore Diagnostics
Getting Started
Deploy SkyWalking Backend And UI
Requirements
Start with v1.0.0, SkyAPM .NET Core Agent only supports SkyWalking 8.0 or higher. The SkyWalking doc is here.
Install SkyWalking .NET Core Agent
You can run the following command to install the SkyWalking .NET Core Agent in your project.
dotnet add package SkyAPM.Agent.AspNetCore
How to use
Set the ASPNETCORE_HOSTINGSTARTUPASSEMBLIES
environment variable to support the activation of the SkyAPM .NET Core Agent.
- Add the assembly name of
SkyAPM.Agent.AspNetCore
to theASPNETCORE_HOSTINGSTARTUPASSEMBLIES
environment variable.
Examples
- On windows
dotnet new mvc -n sampleapp
cd sampleapp
dotnet add package SkyAPM.Agent.AspNetCore
set ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore
set SKYWALKING__SERVICENAME=sample_app
dotnet run
- On macOS/Linux
dotnet new mvc -n sampleapp
cd sampleapp
dotnet add package SkyAPM.Agent.AspNetCore
export ASPNETCORE_HOSTINGSTARTUPASSEMBLIES=SkyAPM.Agent.AspNetCore
export SKYWALKING__SERVICENAME=sample_app
dotnet run
Configuration
Install SkyAPM.DotNet.CLI
dotnet tool install -g SkyAPM.DotNet.CLI
For 2.2.x or older, use dotnet skyapm config [your_service_name] [your_servers]
to generate config file.
dotnet skyapm config sample_app 192.168.0.1:11800
For 2.3.x or newer, use dotnet skyapm config ${your_service_name} [--reporter=grpc|kafka] [--grpcservers=...] [--kafkaservers=...]
to generate config file.
# grpc
dotnet skyapm config sample_app --reporter=grpc --grpcservers=192.168.0.1:11800
# kafka
dotnet skyapm config sample_app --reporter=kafka --kafkaservers=192.168.0.1:9092
Contributing
This section is in progress here: Contributing to SkyAPM-dotnet
Contact Us
- Submit an issue
If you have issues about SkyWalking protocol, its official backend, ask questions at their Apache official channels. All following channels are not suitable for .net agent, but good if you are facing backend/UI issues.
- Submit an official Apache SkyWalking issue.
- Mail list: dev@skywalking.apache.org. Mail to
dev-subscribe@skywalking.apache.org
, follow the reply to subscribe the mail list. - Join
skywalking
channel at Apache Slack. If the link is not working, find the latest one at Apache INFRA WIKI. - QQ Group: 392443393(2000/2000, not available), 901167865(available)