Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/SkyAPM/SkyAPM-dotnet
The .NET/.NET Core instrument agent for Apache SkyWalking
https://github.com/SkyAPM/SkyAPM-dotnet
apm csharp distributed-tracing dotnet metric observability skywalking
Last synced: about 2 months ago
JSON representation
The .NET/.NET Core instrument agent for Apache SkyWalking
- Host: GitHub
- URL: https://github.com/SkyAPM/SkyAPM-dotnet
- Owner: SkyAPM
- License: apache-2.0
- Created: 2018-02-06T14:24:09.000Z (almost 7 years ago)
- Default Branch: main
- Last Pushed: 2024-07-26T10:09:57.000Z (5 months ago)
- Last Synced: 2024-10-28T17:19:47.616Z (about 2 months ago)
- Topics: apm, csharp, distributed-tracing, dotnet, metric, observability, skywalking
- Language: C#
- Homepage:
- Size: 2.82 MB
- Stars: 1,630
- Watchers: 99
- Forks: 333
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Support: docs/Supported-list.md
Awesome Lists containing this project
- awesome - SkyAPM/SkyAPM-dotnet - The .NET/.NET Core instrument agent for Apache SkyWalking (C\#)
- awesome-observability - SkyAPM-dotnet - SkyAPM-dotnet provides the native support agent in C# and .NETStandard platform, with the helps from Apache SkyWalking committer team. (3. Collect / Metrics)
README
SkyAPM C#/.NET instrument agent
==========[Apache SkyWalking](https://github.com/apache/incubator-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.
[![issues](https://img.shields.io/github/issues-raw/skyapm/skyapm-dotnet.svg?style=flat-square)](https://github.com/SkyAPM/SkyAPM-dotnet/issues)
[![pulls](https://img.shields.io/github/issues-pr-raw/skyapm/skyapm-dotnet.svg?style=flat-square)](https://github.com/SkyAPM/SkyAPM-dotnet/pulls)
[![releases](https://img.shields.io/github/release/skyapm/skyapm-dotnet.svg?style=flat-square)](https://github.com/SkyAPM/SkyAPM-dotnet/releases)
[![Gitter](https://img.shields.io/gitter/room/openskywalking/lobby.svg?style=flat-square)](https://gitter.im/openskywalking/Lobby)
[![Twitter Follow](https://img.shields.io/twitter/follow/asfskywalking.svg?style=flat-square&label=Follow&logo=twitter)](https://twitter.com/AsfSkyWalking)## CI Build Status
| Platform | Build Server | Master Status |
|--------- |------------- |---------|
| AppVeyor | Windows/Linux |[![Build status](https://ci.appveyor.com/api/projects/status/fl6vucwfn1vu94dv/branch/master?svg=true)](https://ci.appveyor.com/project/wu-sheng/skywalking-csharp/branch/master)|## Nuget Packages
| Package Name | NuGet | MyGet | Downloads
|--------------| ------- | ------- | ----
| SkyAPM.Agent.AspNetCore | [![nuget](https://img.shields.io/nuget/v/SkyAPM.Agent.AspNetCore.svg?style=flat-square)](https://www.nuget.org/packages/SkyAPM.Agent.AspNetCore) | [![myget](https://img.shields.io/myget/skyapm-dotnet/vpre/SkyAPM.Agent.AspNetCore.svg?style=flat-square)](https://www.myget.org/feed/skyapm-dotnet/package/nuget/SkyAPM.Agent.AspNetCore) | [![stats](https://img.shields.io/nuget/dt/SkyAPM.Agent.AspNetCore.svg?style=flat-square)](https://www.nuget.org/stats/packages/SkyAPM.Agent.AspNetCore?groupby=Version)
| SkyAPM.Agent.GeneralHost | [![nuget](https://img.shields.io/nuget/v/SkyAPM.Agent.GeneralHost.svg?style=flat-square)](https://www.nuget.org/packages/SkyAPM.Agent.GeneralHost) | [![myget](https://img.shields.io/myget/skyapm-dotnet/vpre/SkyAPM.Agent.GeneralHost.svg?style=flat-square)](https://www.myget.org/feed/skyapm-dotnet/package/nuget/SkyAPM.Agent.GeneralHost) | [![](https://img.shields.io/nuget/dt/SkyAPM.Agent.GeneralHost.svg?style=flat-square)](https://www.nuget.org/stats/packages/SkyAPM.Agent.GeneralHost?groupby=Version)> 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.](docs/Supported-list.md)# 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](https://skywalking.apache.org/docs/).## 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 the `ASPNETCORE_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](/CONTIBUTING.md)# Contact Us
* Submit an issueIf 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](https://github.com/apache/skywalking/issues).
* Mail list: **[email protected]**. Mail to `[email protected]`, follow the reply to subscribe the mail list.
* Join `skywalking` channel at [Apache Slack](https://join.slack.com/t/the-asf/shared_invite/enQtNzc2ODE3MjI1MDk1LTAyZGJmNTg1NWZhNmVmOWZjMjA2MGUyOGY4MjE5ZGUwOTQxY2Q3MDBmNTM5YTllNGU4M2QyMzQ4M2U4ZjQ5YmY). If the link is not working, find the latest one at [Apache INFRA WIKI](https://cwiki.apache.org/confluence/display/INFRA/Slack+Guest+Invites).
* QQ Group: 392443393(2000/2000, not available), 901167865(available)# License
[Apache 2.0 License.](/LICENSE)