25 | ```
26 | 5. 启动应用。
27 | ```
28 | dotnet run
29 | ```
30 | 6. 访问 http://localhost:5276 ,多刷新几次,生成上报数据,登录OpenTelemetry控制台,选择具体区域,查看目标应用。
31 |
--------------------------------------------------------------------------------
/skywalking-net-demo/Views/Home/Index.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Home Page";
3 | }
4 |
5 |
9 |
--------------------------------------------------------------------------------
/skywalking-net-demo/Views/Home/Privacy.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | ViewData["Title"] = "Privacy Policy";
3 | }
4 | @ViewData["Title"]
5 |
6 | Use this page to detail your site's privacy policy.
7 |
--------------------------------------------------------------------------------
/skywalking-net-demo/Views/Shared/Error.cshtml:
--------------------------------------------------------------------------------
1 | @model ErrorViewModel
2 | @{
3 | ViewData["Title"] = "Error";
4 | }
5 |
6 | Error.
7 | An error occurred while processing your request.
8 |
9 | @if (Model.ShowRequestId)
10 | {
11 |
12 | Request ID: @Model.RequestId
13 |
14 | }
15 |
16 | Development Mode
17 |
18 | Swapping to Development environment will display more detailed information about the error that occurred.
19 |
20 |
21 | The Development environment shouldn't be enabled for deployed applications.
22 | It can result in displaying sensitive information from exceptions to end users.
23 | For local debugging, enable the Development environment by setting the ASPNETCORE_ENVIRONMENT environment variable to Development
24 | and restarting the app.
25 |
26 |
--------------------------------------------------------------------------------
/skywalking-net-demo/Views/Shared/_Layout.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | @ViewData["Title"] - skywalking_net_demo
7 |
8 |
9 |
10 |
11 |
12 |
33 |
34 |
35 | @RenderBody()
36 |
37 |
38 |
39 |
44 |
45 |
46 |
47 | @await RenderSectionAsync("Scripts", required: false)
48 |
49 |
50 |
--------------------------------------------------------------------------------
/skywalking-net-demo/Views/Shared/_Layout.cshtml.css:
--------------------------------------------------------------------------------
1 | /* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
2 | for details on configuring this project to bundle and minify static web assets. */
3 |
4 | a.navbar-brand {
5 | white-space: normal;
6 | text-align: center;
7 | word-break: break-all;
8 | }
9 |
10 | a {
11 | color: #0077cc;
12 | }
13 |
14 | .btn-primary {
15 | color: #fff;
16 | background-color: #1b6ec2;
17 | border-color: #1861ac;
18 | }
19 |
20 | .nav-pills .nav-link.active, .nav-pills .show > .nav-link {
21 | color: #fff;
22 | background-color: #1b6ec2;
23 | border-color: #1861ac;
24 | }
25 |
26 | .border-top {
27 | border-top: 1px solid #e5e5e5;
28 | }
29 | .border-bottom {
30 | border-bottom: 1px solid #e5e5e5;
31 | }
32 |
33 | .box-shadow {
34 | box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
35 | }
36 |
37 | button.accept-policy {
38 | font-size: 1rem;
39 | line-height: inherit;
40 | }
41 |
42 | .footer {
43 | position: absolute;
44 | bottom: 0;
45 | width: 100%;
46 | white-space: nowrap;
47 | line-height: 60px;
48 | }
49 |
--------------------------------------------------------------------------------
/skywalking-net-demo/Views/Shared/_ValidationScriptsPartial.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/skywalking-net-demo/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @using skywalking_net_demo
2 | @using skywalking_net_demo.Models
3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
4 |
--------------------------------------------------------------------------------
/skywalking-net-demo/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/skywalking-net-demo/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/skywalking-net-demo/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
10 |
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/AspectCore.Extensions.Reflection.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/AspectCore.Extensions.Reflection.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/Google.Protobuf.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/Google.Protobuf.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/Grpc.Core.Api.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/Grpc.Core.Api.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/Grpc.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/Grpc.Core.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/Grpc.Net.Client.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/Grpc.Net.Client.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/Grpc.Net.Common.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/Grpc.Net.Common.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Abstractions.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Abstractions.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Relational.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/Microsoft.EntityFrameworkCore.Relational.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/Microsoft.EntityFrameworkCore.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/Microsoft.EntityFrameworkCore.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/Serilog.Extensions.Logging.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/Serilog.Extensions.Logging.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/Serilog.Sinks.File.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/Serilog.Sinks.File.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/Serilog.Sinks.RollingFile.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/Serilog.Sinks.RollingFile.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/Serilog.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/Serilog.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Abstractions.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Abstractions.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Agent.AspNetCore.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Agent.AspNetCore.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Agent.Hosting.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Agent.Hosting.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Core.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Core.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.AspNetCore.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.AspNetCore.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.EntityFrameworkCore.Npgsql.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.EntityFrameworkCore.Npgsql.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.EntityFrameworkCore.Pomelo.MySql.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.EntityFrameworkCore.Pomelo.MySql.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.EntityFrameworkCore.Sqlite.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.EntityFrameworkCore.Sqlite.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.EntityFrameworkCore.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.EntityFrameworkCore.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.HttpClient.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.HttpClient.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.SqlClient.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Diagnostics.SqlClient.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Transport.Grpc.Protocol.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Transport.Grpc.Protocol.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Transport.Grpc.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Transport.Grpc.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Utilities.Configuration.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Utilities.Configuration.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Utilities.DependencyInjection.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Utilities.DependencyInjection.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Utilities.Logging.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyAPM.Utilities.Logging.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyApm.Diagnostics.Grpc.Net.Client.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyApm.Diagnostics.Grpc.Net.Client.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyApm.Diagnostics.Grpc.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyApm.Diagnostics.Grpc.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/SkyApm.Diagnostics.MSLogging.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/SkyApm.Diagnostics.MSLogging.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "LogLevel": {
4 | "Default": "Information",
5 | "Microsoft.AspNetCore": "Warning"
6 | }
7 | },
8 | "AllowedHosts": "*"
9 | }
10 |
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/runtimes/linux-arm64/native/libgrpc_csharp_ext.arm64.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/runtimes/linux-arm64/native/libgrpc_csharp_ext.arm64.so
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/runtimes/linux-x64/native/libgrpc_csharp_ext.x64.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/runtimes/linux-x64/native/libgrpc_csharp_ext.x64.so
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/runtimes/osx-x64/native/libgrpc_csharp_ext.x64.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/runtimes/osx-x64/native/libgrpc_csharp_ext.x64.dylib
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/runtimes/win-x64/native/grpc_csharp_ext.x64.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/runtimes/win-x64/native/grpc_csharp_ext.x64.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/runtimes/win-x86/native/grpc_csharp_ext.x86.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/runtimes/win-x86/native/grpc_csharp_ext.x86.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/skyapm.json:
--------------------------------------------------------------------------------
1 | {
2 | "SkyWalking": {
3 | "ServiceName": "",
4 | "Namespace": "",
5 | "HeaderVersions": [
6 | "sw8"
7 | ],
8 | "Sampling": {
9 | "SamplePer3Secs": -1,
10 | "Percentage": -1.0,
11 | "LogSqlParameterValue": false
12 | },
13 | "Logging": {
14 | "Level": "Information",
15 | "FilePath": "logs/skyapm-{Date}.log"
16 | },
17 | "Transport": {
18 | "Interval": 3000,
19 | "ProtocolVersion": "v8",
20 | "QueueSize": 30000,
21 | "BatchSize": 3000,
22 | "gRPC": {
23 | "Servers": "",
24 | "Authentication": "",
25 | "Timeout": 100000,
26 | "ConnectTimeout": 100000,
27 | "ReportTimeout": 600000
28 | }
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/skywalking-net-demo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/skywalking-net-demo
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/skywalking-net-demo.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/skywalking-net-demo.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/skywalking-net-demo.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/bin/Debug/net7.0/skywalking-net-demo.pdb
--------------------------------------------------------------------------------
/skywalking-net-demo/bin/Debug/net7.0/skywalking-net-demo.runtimeconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "runtimeOptions": {
3 | "tfm": "net7.0",
4 | "frameworks": [
5 | {
6 | "name": "Microsoft.NETCore.App",
7 | "version": "7.0.0"
8 | },
9 | {
10 | "name": "Microsoft.AspNetCore.App",
11 | "version": "7.0.0"
12 | }
13 | ],
14 | "configProperties": {
15 | "System.GC.Server": true,
16 | "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs:
--------------------------------------------------------------------------------
1 | //
2 | using System;
3 | using System.Reflection;
4 | [assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v7.0", FrameworkDisplayName = ".NET 7.0")]
5 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/apphost:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/obj/Debug/net7.0/apphost
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/ref/skywalking-net-demo.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/obj/Debug/net7.0/ref/skywalking-net-demo.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/refint/skywalking-net-demo.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/obj/Debug/net7.0/refint/skywalking-net-demo.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/scopedcss/Views/Shared/_Layout.cshtml.rz.scp.css:
--------------------------------------------------------------------------------
1 | /* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
2 | for details on configuring this project to bundle and minify static web assets. */
3 |
4 | a.navbar-brand[b-j4j72zx4mz] {
5 | white-space: normal;
6 | text-align: center;
7 | word-break: break-all;
8 | }
9 |
10 | a[b-j4j72zx4mz] {
11 | color: #0077cc;
12 | }
13 |
14 | .btn-primary[b-j4j72zx4mz] {
15 | color: #fff;
16 | background-color: #1b6ec2;
17 | border-color: #1861ac;
18 | }
19 |
20 | .nav-pills .nav-link.active[b-j4j72zx4mz], .nav-pills .show > .nav-link[b-j4j72zx4mz] {
21 | color: #fff;
22 | background-color: #1b6ec2;
23 | border-color: #1861ac;
24 | }
25 |
26 | .border-top[b-j4j72zx4mz] {
27 | border-top: 1px solid #e5e5e5;
28 | }
29 | .border-bottom[b-j4j72zx4mz] {
30 | border-bottom: 1px solid #e5e5e5;
31 | }
32 |
33 | .box-shadow[b-j4j72zx4mz] {
34 | box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
35 | }
36 |
37 | button.accept-policy[b-j4j72zx4mz] {
38 | font-size: 1rem;
39 | line-height: inherit;
40 | }
41 |
42 | .footer[b-j4j72zx4mz] {
43 | position: absolute;
44 | bottom: 0;
45 | width: 100%;
46 | white-space: nowrap;
47 | line-height: 60px;
48 | }
49 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/scopedcss/bundle/skywalking-net-demo.styles.css:
--------------------------------------------------------------------------------
1 | /* _content/skywalking-net-demo/Views/Shared/_Layout.cshtml.rz.scp.css */
2 | /* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
3 | for details on configuring this project to bundle and minify static web assets. */
4 |
5 | a.navbar-brand[b-j4j72zx4mz] {
6 | white-space: normal;
7 | text-align: center;
8 | word-break: break-all;
9 | }
10 |
11 | a[b-j4j72zx4mz] {
12 | color: #0077cc;
13 | }
14 |
15 | .btn-primary[b-j4j72zx4mz] {
16 | color: #fff;
17 | background-color: #1b6ec2;
18 | border-color: #1861ac;
19 | }
20 |
21 | .nav-pills .nav-link.active[b-j4j72zx4mz], .nav-pills .show > .nav-link[b-j4j72zx4mz] {
22 | color: #fff;
23 | background-color: #1b6ec2;
24 | border-color: #1861ac;
25 | }
26 |
27 | .border-top[b-j4j72zx4mz] {
28 | border-top: 1px solid #e5e5e5;
29 | }
30 | .border-bottom[b-j4j72zx4mz] {
31 | border-bottom: 1px solid #e5e5e5;
32 | }
33 |
34 | .box-shadow[b-j4j72zx4mz] {
35 | box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
36 | }
37 |
38 | button.accept-policy[b-j4j72zx4mz] {
39 | font-size: 1rem;
40 | line-height: inherit;
41 | }
42 |
43 | .footer[b-j4j72zx4mz] {
44 | position: absolute;
45 | bottom: 0;
46 | width: 100%;
47 | white-space: nowrap;
48 | line-height: 60px;
49 | }
50 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/scopedcss/projectbundle/skywalking-net-demo.bundle.scp.css:
--------------------------------------------------------------------------------
1 | /* _content/skywalking-net-demo/Views/Shared/_Layout.cshtml.rz.scp.css */
2 | /* Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
3 | for details on configuring this project to bundle and minify static web assets. */
4 |
5 | a.navbar-brand[b-j4j72zx4mz] {
6 | white-space: normal;
7 | text-align: center;
8 | word-break: break-all;
9 | }
10 |
11 | a[b-j4j72zx4mz] {
12 | color: #0077cc;
13 | }
14 |
15 | .btn-primary[b-j4j72zx4mz] {
16 | color: #fff;
17 | background-color: #1b6ec2;
18 | border-color: #1861ac;
19 | }
20 |
21 | .nav-pills .nav-link.active[b-j4j72zx4mz], .nav-pills .show > .nav-link[b-j4j72zx4mz] {
22 | color: #fff;
23 | background-color: #1b6ec2;
24 | border-color: #1861ac;
25 | }
26 |
27 | .border-top[b-j4j72zx4mz] {
28 | border-top: 1px solid #e5e5e5;
29 | }
30 | .border-bottom[b-j4j72zx4mz] {
31 | border-bottom: 1px solid #e5e5e5;
32 | }
33 |
34 | .box-shadow[b-j4j72zx4mz] {
35 | box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);
36 | }
37 |
38 | button.accept-policy[b-j4j72zx4mz] {
39 | font-size: 1rem;
40 | line-height: inherit;
41 | }
42 |
43 | .footer[b-j4j72zx4mz] {
44 | position: absolute;
45 | bottom: 0;
46 | width: 100%;
47 | white-space: nowrap;
48 | line-height: 60px;
49 | }
50 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | //
5 | // Changes to this file may cause incorrect behavior and will be lost if
6 | // the code is regenerated.
7 | //
8 | //------------------------------------------------------------------------------
9 |
10 | using System;
11 | using System.Reflection;
12 |
13 | [assembly: System.Reflection.AssemblyCompanyAttribute("skywalking-net-demo")]
14 | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
15 | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
16 | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
17 | [assembly: System.Reflection.AssemblyProductAttribute("skywalking-net-demo")]
18 | [assembly: System.Reflection.AssemblyTitleAttribute("skywalking-net-demo")]
19 | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
20 |
21 | // 由 MSBuild WriteCodeFragment 类生成。
22 |
23 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.AssemblyInfoInputs.cache:
--------------------------------------------------------------------------------
1 | 125e5c60eb8112a2c83c7280d2d05df9ca320c6e
2 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.GeneratedMSBuildEditorConfig.editorconfig:
--------------------------------------------------------------------------------
1 | is_global = true
2 | build_property.TargetFramework = net7.0
3 | build_property.TargetPlatformMinVersion =
4 | build_property.UsingMicrosoftNETSdkWeb = true
5 | build_property.ProjectTypeGuids =
6 | build_property.InvariantGlobalization =
7 | build_property.PlatformNeutralAssembly =
8 | build_property.EnforceExtendedAnalyzerRules =
9 | build_property._SupportedPlatformList = Linux,macOS,Windows
10 | build_property.RootNamespace = skywalking_net_demo
11 | build_property.RootNamespace = skywalking_net_demo
12 | build_property.ProjectDir = /Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/
13 | build_property.RazorLangVersion = 7.0
14 | build_property.SupportLocalizedComponentNames =
15 | build_property.GenerateRazorMetadataSourceChecksumAttributes =
16 | build_property.MSBuildProjectDirectory = /Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo
17 | build_property._RazorSourceGeneratorDebug =
18 |
19 | [/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/Views/Home/Index.cshtml]
20 | build_metadata.AdditionalFiles.TargetPath = Vmlld3MvSG9tZS9JbmRleC5jc2h0bWw=
21 | build_metadata.AdditionalFiles.CssScope =
22 |
23 | [/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/Views/Home/Privacy.cshtml]
24 | build_metadata.AdditionalFiles.TargetPath = Vmlld3MvSG9tZS9Qcml2YWN5LmNzaHRtbA==
25 | build_metadata.AdditionalFiles.CssScope =
26 |
27 | [/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/Views/Shared/Error.cshtml]
28 | build_metadata.AdditionalFiles.TargetPath = Vmlld3MvU2hhcmVkL0Vycm9yLmNzaHRtbA==
29 | build_metadata.AdditionalFiles.CssScope =
30 |
31 | [/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/Views/Shared/_ValidationScriptsPartial.cshtml]
32 | build_metadata.AdditionalFiles.TargetPath = Vmlld3MvU2hhcmVkL19WYWxpZGF0aW9uU2NyaXB0c1BhcnRpYWwuY3NodG1s
33 | build_metadata.AdditionalFiles.CssScope =
34 |
35 | [/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/Views/_ViewImports.cshtml]
36 | build_metadata.AdditionalFiles.TargetPath = Vmlld3MvX1ZpZXdJbXBvcnRzLmNzaHRtbA==
37 | build_metadata.AdditionalFiles.CssScope =
38 |
39 | [/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/Views/_ViewStart.cshtml]
40 | build_metadata.AdditionalFiles.TargetPath = Vmlld3MvX1ZpZXdTdGFydC5jc2h0bWw=
41 | build_metadata.AdditionalFiles.CssScope =
42 |
43 | [/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/Views/Shared/_Layout.cshtml]
44 | build_metadata.AdditionalFiles.TargetPath = Vmlld3MvU2hhcmVkL19MYXlvdXQuY3NodG1s
45 | build_metadata.AdditionalFiles.CssScope = b-j4j72zx4mz
46 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.GlobalUsings.g.cs:
--------------------------------------------------------------------------------
1 | //
2 | global using global::Microsoft.AspNetCore.Builder;
3 | global using global::Microsoft.AspNetCore.Hosting;
4 | global using global::Microsoft.AspNetCore.Http;
5 | global using global::Microsoft.AspNetCore.Routing;
6 | global using global::Microsoft.Extensions.Configuration;
7 | global using global::Microsoft.Extensions.DependencyInjection;
8 | global using global::Microsoft.Extensions.Hosting;
9 | global using global::Microsoft.Extensions.Logging;
10 | global using global::System;
11 | global using global::System.Collections.Generic;
12 | global using global::System.IO;
13 | global using global::System.Linq;
14 | global using global::System.Net.Http;
15 | global using global::System.Net.Http.Json;
16 | global using global::System.Threading;
17 | global using global::System.Threading.Tasks;
18 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.MvcApplicationPartsAssemblyInfo.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.MvcApplicationPartsAssemblyInfo.cache
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.MvcApplicationPartsAssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | //
5 | // Changes to this file may cause incorrect behavior and will be lost if
6 | // the code is regenerated.
7 | //
8 | //------------------------------------------------------------------------------
9 |
10 | using System;
11 | using System.Reflection;
12 |
13 | [assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("SkyAPM.Agent.AspNetCore")]
14 | [assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ApplicationPartAttribute("SkyAPM.Diagnostics.AspNetCore")]
15 |
16 | // 由 MSBuild WriteCodeFragment 类生成。
17 |
18 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.RazorAssemblyInfo.cache:
--------------------------------------------------------------------------------
1 | 5860763757f4f08c7ebdea1b3a94a18109f17861
2 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.RazorAssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | //
5 | // Changes to this file may cause incorrect behavior and will be lost if
6 | // the code is regenerated.
7 | //
8 | //------------------------------------------------------------------------------
9 |
10 | using System;
11 | using System.Reflection;
12 |
13 | [assembly: Microsoft.AspNetCore.Mvc.ApplicationParts.ProvideApplicationPartFactoryAttribute("Microsoft.AspNetCore.Mvc.ApplicationParts.ConsolidatedAssemblyApplicationPartFact" +
14 | "ory, Microsoft.AspNetCore.Mvc.Razor")]
15 |
16 | // 由 MSBuild WriteCodeFragment 类生成。
17 |
18 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.assets.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.assets.cache
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.csproj.AssemblyReference.cache:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.csproj.AssemblyReference.cache
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.csproj.CopyComplete:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.csproj.CopyComplete
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.csproj.CoreCompileInputs.cache:
--------------------------------------------------------------------------------
1 | 22331629322a4220c9a05ba8e3871a913fd2cc66
2 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.dll
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.genruntimeconfig.cache:
--------------------------------------------------------------------------------
1 | 24b6687ed9d6c16057964868c8a92e5eac4e322e
2 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.pdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/obj/Debug/net7.0/skywalking-net-demo.pdb
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/staticwebassets.development.json:
--------------------------------------------------------------------------------
1 | {"ContentRoots":["/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/wwwroot/","/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/obj/Debug/net7.0/scopedcss/bundle/"],"Root":{"Children":{"css":{"Children":{"site.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"css/site.css"},"Patterns":null}},"Asset":null,"Patterns":null},"favicon.ico":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"favicon.ico"},"Patterns":null},"js":{"Children":{"site.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"js/site.js"},"Patterns":null}},"Asset":null,"Patterns":null},"lib":{"Children":{"bootstrap":{"Children":{"dist":{"Children":{"css":{"Children":{"bootstrap-grid.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-grid.css"},"Patterns":null},"bootstrap-grid.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-grid.css.map"},"Patterns":null},"bootstrap-grid.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-grid.min.css"},"Patterns":null},"bootstrap-grid.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-grid.min.css.map"},"Patterns":null},"bootstrap-grid.rtl.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-grid.rtl.css"},"Patterns":null},"bootstrap-grid.rtl.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-grid.rtl.css.map"},"Patterns":null},"bootstrap-grid.rtl.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css"},"Patterns":null},"bootstrap-grid.rtl.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-grid.rtl.min.css.map"},"Patterns":null},"bootstrap-reboot.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-reboot.css"},"Patterns":null},"bootstrap-reboot.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-reboot.css.map"},"Patterns":null},"bootstrap-reboot.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-reboot.min.css"},"Patterns":null},"bootstrap-reboot.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-reboot.min.css.map"},"Patterns":null},"bootstrap-reboot.rtl.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-reboot.rtl.css"},"Patterns":null},"bootstrap-reboot.rtl.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-reboot.rtl.css.map"},"Patterns":null},"bootstrap-reboot.rtl.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css"},"Patterns":null},"bootstrap-reboot.rtl.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css.map"},"Patterns":null},"bootstrap-utilities.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-utilities.css"},"Patterns":null},"bootstrap-utilities.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-utilities.css.map"},"Patterns":null},"bootstrap-utilities.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-utilities.min.css"},"Patterns":null},"bootstrap-utilities.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-utilities.min.css.map"},"Patterns":null},"bootstrap-utilities.rtl.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-utilities.rtl.css"},"Patterns":null},"bootstrap-utilities.rtl.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-utilities.rtl.css.map"},"Patterns":null},"bootstrap-utilities.rtl.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css"},"Patterns":null},"bootstrap-utilities.rtl.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap-utilities.rtl.min.css.map"},"Patterns":null},"bootstrap.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap.css"},"Patterns":null},"bootstrap.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap.css.map"},"Patterns":null},"bootstrap.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap.min.css"},"Patterns":null},"bootstrap.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap.min.css.map"},"Patterns":null},"bootstrap.rtl.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap.rtl.css"},"Patterns":null},"bootstrap.rtl.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap.rtl.css.map"},"Patterns":null},"bootstrap.rtl.min.css":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap.rtl.min.css"},"Patterns":null},"bootstrap.rtl.min.css.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/css/bootstrap.rtl.min.css.map"},"Patterns":null}},"Asset":null,"Patterns":null},"js":{"Children":{"bootstrap.bundle.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/js/bootstrap.bundle.js"},"Patterns":null},"bootstrap.bundle.js.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/js/bootstrap.bundle.js.map"},"Patterns":null},"bootstrap.bundle.min.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/js/bootstrap.bundle.min.js"},"Patterns":null},"bootstrap.bundle.min.js.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/js/bootstrap.bundle.min.js.map"},"Patterns":null},"bootstrap.esm.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/js/bootstrap.esm.js"},"Patterns":null},"bootstrap.esm.js.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/js/bootstrap.esm.js.map"},"Patterns":null},"bootstrap.esm.min.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/js/bootstrap.esm.min.js"},"Patterns":null},"bootstrap.esm.min.js.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/js/bootstrap.esm.min.js.map"},"Patterns":null},"bootstrap.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/js/bootstrap.js"},"Patterns":null},"bootstrap.js.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/js/bootstrap.js.map"},"Patterns":null},"bootstrap.min.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/js/bootstrap.min.js"},"Patterns":null},"bootstrap.min.js.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/dist/js/bootstrap.min.js.map"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"LICENSE":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/bootstrap/LICENSE"},"Patterns":null}},"Asset":null,"Patterns":null},"jquery-validation-unobtrusive":{"Children":{"jquery.validate.unobtrusive.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"},"Patterns":null},"jquery.validate.unobtrusive.min.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"},"Patterns":null},"LICENSE.txt":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/jquery-validation-unobtrusive/LICENSE.txt"},"Patterns":null}},"Asset":null,"Patterns":null},"jquery-validation":{"Children":{"dist":{"Children":{"additional-methods.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/jquery-validation/dist/additional-methods.js"},"Patterns":null},"additional-methods.min.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/jquery-validation/dist/additional-methods.min.js"},"Patterns":null},"jquery.validate.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/jquery-validation/dist/jquery.validate.js"},"Patterns":null},"jquery.validate.min.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/jquery-validation/dist/jquery.validate.min.js"},"Patterns":null}},"Asset":null,"Patterns":null},"LICENSE.md":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/jquery-validation/LICENSE.md"},"Patterns":null}},"Asset":null,"Patterns":null},"jquery":{"Children":{"dist":{"Children":{"jquery.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/jquery/dist/jquery.js"},"Patterns":null},"jquery.min.js":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/jquery/dist/jquery.min.js"},"Patterns":null},"jquery.min.map":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/jquery/dist/jquery.min.map"},"Patterns":null}},"Asset":null,"Patterns":null},"LICENSE.txt":{"Children":null,"Asset":{"ContentRootIndex":0,"SubPath":"lib/jquery/LICENSE.txt"},"Patterns":null}},"Asset":null,"Patterns":null}},"Asset":null,"Patterns":null},"skywalking-net-demo.styles.css":{"Children":null,"Asset":{"ContentRootIndex":1,"SubPath":"skywalking-net-demo.styles.css"},"Patterns":null}},"Asset":null,"Patterns":[{"ContentRootIndex":0,"Pattern":"**","Depth":0}]}}
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/staticwebassets/msbuild.build.skywalking-net-demo.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/staticwebassets/msbuild.buildMultiTargeting.skywalking-net-demo.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/Debug/net7.0/staticwebassets/msbuild.buildTransitive.skywalking-net-demo.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/skywalking-net-demo.csproj.nuget.dgspec.json:
--------------------------------------------------------------------------------
1 | {
2 | "format": 1,
3 | "restore": {
4 | "/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/skywalking-net-demo.csproj": {}
5 | },
6 | "projects": {
7 | "/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/skywalking-net-demo.csproj": {
8 | "version": "1.0.0",
9 | "restore": {
10 | "projectUniqueName": "/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/skywalking-net-demo.csproj",
11 | "projectName": "skywalking-net-demo",
12 | "projectPath": "/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/skywalking-net-demo.csproj",
13 | "packagesPath": "/Users/whlongxi/.nuget/packages/",
14 | "outputPath": "/Users/whlongxi/work/test/skywalking-demo/skywalking-net-demo/obj/",
15 | "projectStyle": "PackageReference",
16 | "configFilePaths": [
17 | "/Users/whlongxi/.nuget/NuGet/NuGet.Config"
18 | ],
19 | "originalTargetFrameworks": [
20 | "net7.0"
21 | ],
22 | "sources": {
23 | "/usr/local/share/dotnet/sdk/7.0.306/Sdks/Microsoft.NET.Sdk.Web/library-packs": {},
24 | "https://api.nuget.org/v3/index.json": {}
25 | },
26 | "frameworks": {
27 | "net7.0": {
28 | "targetAlias": "net7.0",
29 | "projectReferences": {}
30 | }
31 | },
32 | "warningProperties": {
33 | "warnAsError": [
34 | "NU1605"
35 | ]
36 | }
37 | },
38 | "frameworks": {
39 | "net7.0": {
40 | "targetAlias": "net7.0",
41 | "dependencies": {
42 | "SkyAPM.Agent.AspNetCore": {
43 | "target": "Package",
44 | "version": "[2.1.0, )"
45 | }
46 | },
47 | "imports": [
48 | "net461",
49 | "net462",
50 | "net47",
51 | "net471",
52 | "net472",
53 | "net48",
54 | "net481"
55 | ],
56 | "assetTargetFallback": true,
57 | "warn": true,
58 | "frameworkReferences": {
59 | "Microsoft.AspNetCore.App": {
60 | "privateAssets": "none"
61 | },
62 | "Microsoft.NETCore.App": {
63 | "privateAssets": "all"
64 | }
65 | },
66 | "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/7.0.306/RuntimeIdentifierGraph.json"
67 | }
68 | }
69 | }
70 | }
71 | }
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/skywalking-net-demo.csproj.nuget.g.props:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | True
5 | NuGet
6 | $(MSBuildThisFileDirectory)project.assets.json
7 | /Users/whlongxi/.nuget/packages/
8 | /Users/whlongxi/.nuget/packages/
9 | PackageReference
10 | 6.6.0
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/skywalking-net-demo/obj/skywalking-net-demo.csproj.nuget.g.targets:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/skywalking-net-demo/skyapm.json:
--------------------------------------------------------------------------------
1 | {
2 | "SkyWalking": {
3 | "ServiceName": "",
4 | "Namespace": "",
5 | "HeaderVersions": [
6 | "sw8"
7 | ],
8 | "Sampling": {
9 | "SamplePer3Secs": -1,
10 | "Percentage": -1.0,
11 | "LogSqlParameterValue": false
12 | },
13 | "Logging": {
14 | "Level": "Information",
15 | "FilePath": "logs/skyapm-{Date}.log"
16 | },
17 | "Transport": {
18 | "Interval": 3000,
19 | "ProtocolVersion": "v8",
20 | "QueueSize": 30000,
21 | "BatchSize": 3000,
22 | "gRPC": {
23 | "Servers": "",
24 | "Authentication": "",
25 | "Timeout": 100000,
26 | "ConnectTimeout": 100000,
27 | "ReportTimeout": 600000
28 | }
29 | }
30 | }
31 | }
--------------------------------------------------------------------------------
/skywalking-net-demo/skywalking-net-demo.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net7.0
5 | enable
6 | enable
7 | skywalking_net_demo
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/skywalking-net-demo/wwwroot/css/site.css:
--------------------------------------------------------------------------------
1 | html {
2 | font-size: 14px;
3 | }
4 |
5 | @media (min-width: 768px) {
6 | html {
7 | font-size: 16px;
8 | }
9 | }
10 |
11 | .btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
12 | box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
13 | }
14 |
15 | html {
16 | position: relative;
17 | min-height: 100%;
18 | }
19 |
20 | body {
21 | margin-bottom: 60px;
22 | }
--------------------------------------------------------------------------------
/skywalking-net-demo/wwwroot/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/alibabacloud-observability/skywalking-demo/3bd6f1949563589cad66709a12fda79d2bfb476a/skywalking-net-demo/wwwroot/favicon.ico
--------------------------------------------------------------------------------
/skywalking-net-demo/wwwroot/js/site.js:
--------------------------------------------------------------------------------
1 | // Please see documentation at https://docs.microsoft.com/aspnet/core/client-side/bundling-and-minification
2 | // for details on configuring this project to bundle and minify static web assets.
3 |
4 | // Write your JavaScript code.
5 |
--------------------------------------------------------------------------------
/skywalking-net-demo/wwwroot/lib/bootstrap/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2011-2021 Twitter, Inc.
4 | Copyright (c) 2011-2021 The Bootstrap Authors
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in
14 | all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/skywalking-net-demo/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Reboot v5.1.0 (https://getbootstrap.com/)
3 | * Copyright 2011-2021 The Bootstrap Authors
4 | * Copyright 2011-2021 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
7 | */
8 | *,
9 | *::before,
10 | *::after {
11 | box-sizing: border-box;
12 | }
13 |
14 | @media (prefers-reduced-motion: no-preference) {
15 | :root {
16 | scroll-behavior: smooth;
17 | }
18 | }
19 |
20 | body {
21 | margin: 0;
22 | font-family: var(--bs-body-font-family);
23 | font-size: var(--bs-body-font-size);
24 | font-weight: var(--bs-body-font-weight);
25 | line-height: var(--bs-body-line-height);
26 | color: var(--bs-body-color);
27 | text-align: var(--bs-body-text-align);
28 | background-color: var(--bs-body-bg);
29 | -webkit-text-size-adjust: 100%;
30 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
31 | }
32 |
33 | hr {
34 | margin: 1rem 0;
35 | color: inherit;
36 | background-color: currentColor;
37 | border: 0;
38 | opacity: 0.25;
39 | }
40 |
41 | hr:not([size]) {
42 | height: 1px;
43 | }
44 |
45 | h6, h5, h4, h3, h2, h1 {
46 | margin-top: 0;
47 | margin-bottom: 0.5rem;
48 | font-weight: 500;
49 | line-height: 1.2;
50 | }
51 |
52 | h1 {
53 | font-size: calc(1.375rem + 1.5vw);
54 | }
55 | @media (min-width: 1200px) {
56 | h1 {
57 | font-size: 2.5rem;
58 | }
59 | }
60 |
61 | h2 {
62 | font-size: calc(1.325rem + 0.9vw);
63 | }
64 | @media (min-width: 1200px) {
65 | h2 {
66 | font-size: 2rem;
67 | }
68 | }
69 |
70 | h3 {
71 | font-size: calc(1.3rem + 0.6vw);
72 | }
73 | @media (min-width: 1200px) {
74 | h3 {
75 | font-size: 1.75rem;
76 | }
77 | }
78 |
79 | h4 {
80 | font-size: calc(1.275rem + 0.3vw);
81 | }
82 | @media (min-width: 1200px) {
83 | h4 {
84 | font-size: 1.5rem;
85 | }
86 | }
87 |
88 | h5 {
89 | font-size: 1.25rem;
90 | }
91 |
92 | h6 {
93 | font-size: 1rem;
94 | }
95 |
96 | p {
97 | margin-top: 0;
98 | margin-bottom: 1rem;
99 | }
100 |
101 | abbr[title],
102 | abbr[data-bs-original-title] {
103 | -webkit-text-decoration: underline dotted;
104 | text-decoration: underline dotted;
105 | cursor: help;
106 | -webkit-text-decoration-skip-ink: none;
107 | text-decoration-skip-ink: none;
108 | }
109 |
110 | address {
111 | margin-bottom: 1rem;
112 | font-style: normal;
113 | line-height: inherit;
114 | }
115 |
116 | ol,
117 | ul {
118 | padding-left: 2rem;
119 | }
120 |
121 | ol,
122 | ul,
123 | dl {
124 | margin-top: 0;
125 | margin-bottom: 1rem;
126 | }
127 |
128 | ol ol,
129 | ul ul,
130 | ol ul,
131 | ul ol {
132 | margin-bottom: 0;
133 | }
134 |
135 | dt {
136 | font-weight: 700;
137 | }
138 |
139 | dd {
140 | margin-bottom: 0.5rem;
141 | margin-left: 0;
142 | }
143 |
144 | blockquote {
145 | margin: 0 0 1rem;
146 | }
147 |
148 | b,
149 | strong {
150 | font-weight: bolder;
151 | }
152 |
153 | small {
154 | font-size: 0.875em;
155 | }
156 |
157 | mark {
158 | padding: 0.2em;
159 | background-color: #fcf8e3;
160 | }
161 |
162 | sub,
163 | sup {
164 | position: relative;
165 | font-size: 0.75em;
166 | line-height: 0;
167 | vertical-align: baseline;
168 | }
169 |
170 | sub {
171 | bottom: -0.25em;
172 | }
173 |
174 | sup {
175 | top: -0.5em;
176 | }
177 |
178 | a {
179 | color: #0d6efd;
180 | text-decoration: underline;
181 | }
182 | a:hover {
183 | color: #0a58ca;
184 | }
185 |
186 | a:not([href]):not([class]), a:not([href]):not([class]):hover {
187 | color: inherit;
188 | text-decoration: none;
189 | }
190 |
191 | pre,
192 | code,
193 | kbd,
194 | samp {
195 | font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
196 | font-size: 1em;
197 | direction: ltr /* rtl:ignore */;
198 | unicode-bidi: bidi-override;
199 | }
200 |
201 | pre {
202 | display: block;
203 | margin-top: 0;
204 | margin-bottom: 1rem;
205 | overflow: auto;
206 | font-size: 0.875em;
207 | }
208 | pre code {
209 | font-size: inherit;
210 | color: inherit;
211 | word-break: normal;
212 | }
213 |
214 | code {
215 | font-size: 0.875em;
216 | color: #d63384;
217 | word-wrap: break-word;
218 | }
219 | a > code {
220 | color: inherit;
221 | }
222 |
223 | kbd {
224 | padding: 0.2rem 0.4rem;
225 | font-size: 0.875em;
226 | color: #fff;
227 | background-color: #212529;
228 | border-radius: 0.2rem;
229 | }
230 | kbd kbd {
231 | padding: 0;
232 | font-size: 1em;
233 | font-weight: 700;
234 | }
235 |
236 | figure {
237 | margin: 0 0 1rem;
238 | }
239 |
240 | img,
241 | svg {
242 | vertical-align: middle;
243 | }
244 |
245 | table {
246 | caption-side: bottom;
247 | border-collapse: collapse;
248 | }
249 |
250 | caption {
251 | padding-top: 0.5rem;
252 | padding-bottom: 0.5rem;
253 | color: #6c757d;
254 | text-align: left;
255 | }
256 |
257 | th {
258 | text-align: inherit;
259 | text-align: -webkit-match-parent;
260 | }
261 |
262 | thead,
263 | tbody,
264 | tfoot,
265 | tr,
266 | td,
267 | th {
268 | border-color: inherit;
269 | border-style: solid;
270 | border-width: 0;
271 | }
272 |
273 | label {
274 | display: inline-block;
275 | }
276 |
277 | button {
278 | border-radius: 0;
279 | }
280 |
281 | button:focus:not(:focus-visible) {
282 | outline: 0;
283 | }
284 |
285 | input,
286 | button,
287 | select,
288 | optgroup,
289 | textarea {
290 | margin: 0;
291 | font-family: inherit;
292 | font-size: inherit;
293 | line-height: inherit;
294 | }
295 |
296 | button,
297 | select {
298 | text-transform: none;
299 | }
300 |
301 | [role=button] {
302 | cursor: pointer;
303 | }
304 |
305 | select {
306 | word-wrap: normal;
307 | }
308 | select:disabled {
309 | opacity: 1;
310 | }
311 |
312 | [list]::-webkit-calendar-picker-indicator {
313 | display: none;
314 | }
315 |
316 | button,
317 | [type=button],
318 | [type=reset],
319 | [type=submit] {
320 | -webkit-appearance: button;
321 | }
322 | button:not(:disabled),
323 | [type=button]:not(:disabled),
324 | [type=reset]:not(:disabled),
325 | [type=submit]:not(:disabled) {
326 | cursor: pointer;
327 | }
328 |
329 | ::-moz-focus-inner {
330 | padding: 0;
331 | border-style: none;
332 | }
333 |
334 | textarea {
335 | resize: vertical;
336 | }
337 |
338 | fieldset {
339 | min-width: 0;
340 | padding: 0;
341 | margin: 0;
342 | border: 0;
343 | }
344 |
345 | legend {
346 | float: left;
347 | width: 100%;
348 | padding: 0;
349 | margin-bottom: 0.5rem;
350 | font-size: calc(1.275rem + 0.3vw);
351 | line-height: inherit;
352 | }
353 | @media (min-width: 1200px) {
354 | legend {
355 | font-size: 1.5rem;
356 | }
357 | }
358 | legend + * {
359 | clear: left;
360 | }
361 |
362 | ::-webkit-datetime-edit-fields-wrapper,
363 | ::-webkit-datetime-edit-text,
364 | ::-webkit-datetime-edit-minute,
365 | ::-webkit-datetime-edit-hour-field,
366 | ::-webkit-datetime-edit-day-field,
367 | ::-webkit-datetime-edit-month-field,
368 | ::-webkit-datetime-edit-year-field {
369 | padding: 0;
370 | }
371 |
372 | ::-webkit-inner-spin-button {
373 | height: auto;
374 | }
375 |
376 | [type=search] {
377 | outline-offset: -2px;
378 | -webkit-appearance: textfield;
379 | }
380 |
381 | /* rtl:raw:
382 | [type="tel"],
383 | [type="url"],
384 | [type="email"],
385 | [type="number"] {
386 | direction: ltr;
387 | }
388 | */
389 | ::-webkit-search-decoration {
390 | -webkit-appearance: none;
391 | }
392 |
393 | ::-webkit-color-swatch-wrapper {
394 | padding: 0;
395 | }
396 |
397 | ::file-selector-button {
398 | font: inherit;
399 | }
400 |
401 | ::-webkit-file-upload-button {
402 | font: inherit;
403 | -webkit-appearance: button;
404 | }
405 |
406 | output {
407 | display: inline-block;
408 | }
409 |
410 | iframe {
411 | border: 0;
412 | }
413 |
414 | summary {
415 | display: list-item;
416 | cursor: pointer;
417 | }
418 |
419 | progress {
420 | vertical-align: baseline;
421 | }
422 |
423 | [hidden] {
424 | display: none !important;
425 | }
426 |
427 | /*# sourceMappingURL=bootstrap-reboot.css.map */
--------------------------------------------------------------------------------
/skywalking-net-demo/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Reboot v5.1.0 (https://getbootstrap.com/)
3 | * Copyright 2011-2021 The Bootstrap Authors
4 | * Copyright 2011-2021 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
7 | */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
8 | /*# sourceMappingURL=bootstrap-reboot.min.css.map */
--------------------------------------------------------------------------------
/skywalking-net-demo/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Reboot v5.1.0 (https://getbootstrap.com/)
3 | * Copyright 2011-2021 The Bootstrap Authors
4 | * Copyright 2011-2021 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
7 | */
8 | *,
9 | *::before,
10 | *::after {
11 | box-sizing: border-box;
12 | }
13 |
14 | @media (prefers-reduced-motion: no-preference) {
15 | :root {
16 | scroll-behavior: smooth;
17 | }
18 | }
19 |
20 | body {
21 | margin: 0;
22 | font-family: var(--bs-body-font-family);
23 | font-size: var(--bs-body-font-size);
24 | font-weight: var(--bs-body-font-weight);
25 | line-height: var(--bs-body-line-height);
26 | color: var(--bs-body-color);
27 | text-align: var(--bs-body-text-align);
28 | background-color: var(--bs-body-bg);
29 | -webkit-text-size-adjust: 100%;
30 | -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
31 | }
32 |
33 | hr {
34 | margin: 1rem 0;
35 | color: inherit;
36 | background-color: currentColor;
37 | border: 0;
38 | opacity: 0.25;
39 | }
40 |
41 | hr:not([size]) {
42 | height: 1px;
43 | }
44 |
45 | h6, h5, h4, h3, h2, h1 {
46 | margin-top: 0;
47 | margin-bottom: 0.5rem;
48 | font-weight: 500;
49 | line-height: 1.2;
50 | }
51 |
52 | h1 {
53 | font-size: calc(1.375rem + 1.5vw);
54 | }
55 | @media (min-width: 1200px) {
56 | h1 {
57 | font-size: 2.5rem;
58 | }
59 | }
60 |
61 | h2 {
62 | font-size: calc(1.325rem + 0.9vw);
63 | }
64 | @media (min-width: 1200px) {
65 | h2 {
66 | font-size: 2rem;
67 | }
68 | }
69 |
70 | h3 {
71 | font-size: calc(1.3rem + 0.6vw);
72 | }
73 | @media (min-width: 1200px) {
74 | h3 {
75 | font-size: 1.75rem;
76 | }
77 | }
78 |
79 | h4 {
80 | font-size: calc(1.275rem + 0.3vw);
81 | }
82 | @media (min-width: 1200px) {
83 | h4 {
84 | font-size: 1.5rem;
85 | }
86 | }
87 |
88 | h5 {
89 | font-size: 1.25rem;
90 | }
91 |
92 | h6 {
93 | font-size: 1rem;
94 | }
95 |
96 | p {
97 | margin-top: 0;
98 | margin-bottom: 1rem;
99 | }
100 |
101 | abbr[title],
102 | abbr[data-bs-original-title] {
103 | -webkit-text-decoration: underline dotted;
104 | text-decoration: underline dotted;
105 | cursor: help;
106 | -webkit-text-decoration-skip-ink: none;
107 | text-decoration-skip-ink: none;
108 | }
109 |
110 | address {
111 | margin-bottom: 1rem;
112 | font-style: normal;
113 | line-height: inherit;
114 | }
115 |
116 | ol,
117 | ul {
118 | padding-right: 2rem;
119 | }
120 |
121 | ol,
122 | ul,
123 | dl {
124 | margin-top: 0;
125 | margin-bottom: 1rem;
126 | }
127 |
128 | ol ol,
129 | ul ul,
130 | ol ul,
131 | ul ol {
132 | margin-bottom: 0;
133 | }
134 |
135 | dt {
136 | font-weight: 700;
137 | }
138 |
139 | dd {
140 | margin-bottom: 0.5rem;
141 | margin-right: 0;
142 | }
143 |
144 | blockquote {
145 | margin: 0 0 1rem;
146 | }
147 |
148 | b,
149 | strong {
150 | font-weight: bolder;
151 | }
152 |
153 | small {
154 | font-size: 0.875em;
155 | }
156 |
157 | mark {
158 | padding: 0.2em;
159 | background-color: #fcf8e3;
160 | }
161 |
162 | sub,
163 | sup {
164 | position: relative;
165 | font-size: 0.75em;
166 | line-height: 0;
167 | vertical-align: baseline;
168 | }
169 |
170 | sub {
171 | bottom: -0.25em;
172 | }
173 |
174 | sup {
175 | top: -0.5em;
176 | }
177 |
178 | a {
179 | color: #0d6efd;
180 | text-decoration: underline;
181 | }
182 | a:hover {
183 | color: #0a58ca;
184 | }
185 |
186 | a:not([href]):not([class]), a:not([href]):not([class]):hover {
187 | color: inherit;
188 | text-decoration: none;
189 | }
190 |
191 | pre,
192 | code,
193 | kbd,
194 | samp {
195 | font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
196 | font-size: 1em;
197 | direction: ltr ;
198 | unicode-bidi: bidi-override;
199 | }
200 |
201 | pre {
202 | display: block;
203 | margin-top: 0;
204 | margin-bottom: 1rem;
205 | overflow: auto;
206 | font-size: 0.875em;
207 | }
208 | pre code {
209 | font-size: inherit;
210 | color: inherit;
211 | word-break: normal;
212 | }
213 |
214 | code {
215 | font-size: 0.875em;
216 | color: #d63384;
217 | word-wrap: break-word;
218 | }
219 | a > code {
220 | color: inherit;
221 | }
222 |
223 | kbd {
224 | padding: 0.2rem 0.4rem;
225 | font-size: 0.875em;
226 | color: #fff;
227 | background-color: #212529;
228 | border-radius: 0.2rem;
229 | }
230 | kbd kbd {
231 | padding: 0;
232 | font-size: 1em;
233 | font-weight: 700;
234 | }
235 |
236 | figure {
237 | margin: 0 0 1rem;
238 | }
239 |
240 | img,
241 | svg {
242 | vertical-align: middle;
243 | }
244 |
245 | table {
246 | caption-side: bottom;
247 | border-collapse: collapse;
248 | }
249 |
250 | caption {
251 | padding-top: 0.5rem;
252 | padding-bottom: 0.5rem;
253 | color: #6c757d;
254 | text-align: right;
255 | }
256 |
257 | th {
258 | text-align: inherit;
259 | text-align: -webkit-match-parent;
260 | }
261 |
262 | thead,
263 | tbody,
264 | tfoot,
265 | tr,
266 | td,
267 | th {
268 | border-color: inherit;
269 | border-style: solid;
270 | border-width: 0;
271 | }
272 |
273 | label {
274 | display: inline-block;
275 | }
276 |
277 | button {
278 | border-radius: 0;
279 | }
280 |
281 | button:focus:not(:focus-visible) {
282 | outline: 0;
283 | }
284 |
285 | input,
286 | button,
287 | select,
288 | optgroup,
289 | textarea {
290 | margin: 0;
291 | font-family: inherit;
292 | font-size: inherit;
293 | line-height: inherit;
294 | }
295 |
296 | button,
297 | select {
298 | text-transform: none;
299 | }
300 |
301 | [role=button] {
302 | cursor: pointer;
303 | }
304 |
305 | select {
306 | word-wrap: normal;
307 | }
308 | select:disabled {
309 | opacity: 1;
310 | }
311 |
312 | [list]::-webkit-calendar-picker-indicator {
313 | display: none;
314 | }
315 |
316 | button,
317 | [type=button],
318 | [type=reset],
319 | [type=submit] {
320 | -webkit-appearance: button;
321 | }
322 | button:not(:disabled),
323 | [type=button]:not(:disabled),
324 | [type=reset]:not(:disabled),
325 | [type=submit]:not(:disabled) {
326 | cursor: pointer;
327 | }
328 |
329 | ::-moz-focus-inner {
330 | padding: 0;
331 | border-style: none;
332 | }
333 |
334 | textarea {
335 | resize: vertical;
336 | }
337 |
338 | fieldset {
339 | min-width: 0;
340 | padding: 0;
341 | margin: 0;
342 | border: 0;
343 | }
344 |
345 | legend {
346 | float: right;
347 | width: 100%;
348 | padding: 0;
349 | margin-bottom: 0.5rem;
350 | font-size: calc(1.275rem + 0.3vw);
351 | line-height: inherit;
352 | }
353 | @media (min-width: 1200px) {
354 | legend {
355 | font-size: 1.5rem;
356 | }
357 | }
358 | legend + * {
359 | clear: right;
360 | }
361 |
362 | ::-webkit-datetime-edit-fields-wrapper,
363 | ::-webkit-datetime-edit-text,
364 | ::-webkit-datetime-edit-minute,
365 | ::-webkit-datetime-edit-hour-field,
366 | ::-webkit-datetime-edit-day-field,
367 | ::-webkit-datetime-edit-month-field,
368 | ::-webkit-datetime-edit-year-field {
369 | padding: 0;
370 | }
371 |
372 | ::-webkit-inner-spin-button {
373 | height: auto;
374 | }
375 |
376 | [type=search] {
377 | outline-offset: -2px;
378 | -webkit-appearance: textfield;
379 | }
380 |
381 | [type="tel"],
382 | [type="url"],
383 | [type="email"],
384 | [type="number"] {
385 | direction: ltr;
386 | }
387 | ::-webkit-search-decoration {
388 | -webkit-appearance: none;
389 | }
390 |
391 | ::-webkit-color-swatch-wrapper {
392 | padding: 0;
393 | }
394 |
395 | ::file-selector-button {
396 | font: inherit;
397 | }
398 |
399 | ::-webkit-file-upload-button {
400 | font: inherit;
401 | -webkit-appearance: button;
402 | }
403 |
404 | output {
405 | display: inline-block;
406 | }
407 |
408 | iframe {
409 | border: 0;
410 | }
411 |
412 | summary {
413 | display: list-item;
414 | cursor: pointer;
415 | }
416 |
417 | progress {
418 | vertical-align: baseline;
419 | }
420 |
421 | [hidden] {
422 | display: none !important;
423 | }
424 | /*# sourceMappingURL=bootstrap-reboot.rtl.css.map */
--------------------------------------------------------------------------------
/skywalking-net-demo/wwwroot/lib/bootstrap/dist/css/bootstrap-reboot.rtl.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Bootstrap Reboot v5.1.0 (https://getbootstrap.com/)
3 | * Copyright 2011-2021 The Bootstrap Authors
4 | * Copyright 2011-2021 Twitter, Inc.
5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
7 | */*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){h1{font-size:2.5rem}}h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){h2{font-size:2rem}}h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){h3{font-size:1.75rem}}h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){h4{font-size:1.5rem}}h5{font-size:1.25rem}h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-right:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-right:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:.875em}mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:right}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:right;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:right}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=email],[type=number],[type=tel],[type=url]{direction:ltr}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}
8 | /*# sourceMappingURL=bootstrap-reboot.rtl.min.css.map */
--------------------------------------------------------------------------------
/skywalking-net-demo/wwwroot/lib/jquery-validation-unobtrusive/LICENSE.txt:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) .NET Foundation and Contributors
4 |
5 | All rights reserved.
6 |
7 | Permission is hereby granted, free of charge, to any person obtaining a copy
8 | of this software and associated documentation files (the "Software"), to deal
9 | in the Software without restriction, including without limitation the rights
10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11 | copies of the Software, and to permit persons to whom the Software is
12 | furnished to do so, subject to the following conditions:
13 |
14 | The above copyright notice and this permission notice shall be included in all
15 | copies or substantial portions of the Software.
16 |
17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23 | SOFTWARE.
24 |
--------------------------------------------------------------------------------
/skywalking-net-demo/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Unobtrusive validation support library for jQuery and jQuery Validate
4 | * Copyright (c) .NET Foundation. All rights reserved.
5 | * Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
6 | * @version v4.0.0
7 | */
8 | !function(a){"function"==typeof define&&define.amd?define("jquery.validate.unobtrusive",["jquery-validation"],a):"object"==typeof module&&module.exports?module.exports=a(require("jquery-validation")):jQuery.validator.unobtrusive=a(jQuery)}(function(s){var a,o=s.validator,d="unobtrusiveValidation";function l(a,e,n){a.rules[e]=n,a.message&&(a.messages[e]=a.message)}function u(a){return a.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g,"\\$1")}function n(a){return a.substr(0,a.lastIndexOf(".")+1)}function m(a,e){return a=0===a.indexOf("*.")?a.replace("*.",e):a}function f(a){var e=s(this),n="__jquery_unobtrusive_validation_form_reset";if(!e.data(n)){e.data(n,!0);try{e.data("validator").resetForm()}finally{e.removeData(n)}e.find(".validation-summary-errors").addClass("validation-summary-valid").removeClass("validation-summary-errors"),e.find(".field-validation-error").addClass("field-validation-valid").removeClass("field-validation-error").removeData("unobtrusiveContainer").find(">*").removeData("unobtrusiveContainer")}}function p(n){function a(a,e){(a=r[a])&&s.isFunction(a)&&a.apply(n,e)}var e=s(n),t=e.data(d),i=s.proxy(f,n),r=o.unobtrusive.options||{};return t||(t={options:{errorClass:r.errorClass||"input-validation-error",errorElement:r.errorElement||"span",errorPlacement:function(){!function(a,e){var e=s(this).find("[data-valmsg-for='"+u(e[0].name)+"']"),n=(n=e.attr("data-valmsg-replace"))?!1!==s.parseJSON(n):null;e.removeClass("field-validation-valid").addClass("field-validation-error"),a.data("unobtrusiveContainer",e),n?(e.empty(),a.removeClass("input-validation-error").appendTo(e)):a.hide()}.apply(n,arguments),a("errorPlacement",arguments)},invalidHandler:function(){!function(a,e){var n=s(this).find("[data-valmsg-summary=true]"),t=n.find("ul");t&&t.length&&e.errorList.length&&(t.empty(),n.addClass("validation-summary-errors").removeClass("validation-summary-valid"),s.each(e.errorList,function(){s(" ").html(this.message).appendTo(t)}))}.apply(n,arguments),a("invalidHandler",arguments)},messages:{},rules:{},success:function(){!function(a){var e,n=a.data("unobtrusiveContainer");n&&(e=(e=n.attr("data-valmsg-replace"))?s.parseJSON(e):null,n.addClass("field-validation-valid").removeClass("field-validation-error"),a.removeData("unobtrusiveContainer"),e&&n.empty())}.apply(n,arguments),a("success",arguments)}},attachValidation:function(){e.off("reset."+d,i).on("reset."+d,i).validate(this.options)},validate:function(){return e.validate(),e.valid()}},e.data(d,t)),t}return o.unobtrusive={adapters:[],parseElement:function(t,a){var e,i,r,o=s(t),d=o.parents("form")[0];d&&((e=p(d)).options.rules[t.name]=i={},e.options.messages[t.name]=r={},s.each(this.adapters,function(){var a="data-val-"+this.name,e=o.attr(a),n={};void 0!==e&&(a+="-",s.each(this.params,function(){n[this]=o.attr(a+this)}),this.adapt({element:t,form:d,message:e,params:n,rules:i,messages:r}))}),s.extend(i,{__dummy__:!0}),a||e.attachValidation())},parse:function(a){var a=s(a),e=a.parents().addBack().filter("form").add(a.find("form")).has("[data-val=true]");a.find("[data-val=true]").each(function(){o.unobtrusive.parseElement(this,!0)}),e.each(function(){var a=p(this);a&&a.attachValidation()})}},(a=o.unobtrusive.adapters).add=function(a,e,n){return n||(n=e,e=[]),this.push({name:a,params:e,adapt:n}),this},a.addBool=function(e,n){return this.add(e,function(a){l(a,n||e,!0)})},a.addMinMax=function(a,t,i,r,e,n){return this.add(a,[e||"min",n||"max"],function(a){var e=a.params.min,n=a.params.max;e&&n?l(a,r,[e,n]):e?l(a,t,e):n&&l(a,i,n)})},a.addSingleVal=function(e,n,t){return this.add(e,[n||"val"],function(a){l(a,t||e,a.params[n])})},o.addMethod("__dummy__",function(a,e,n){return!0}),o.addMethod("regex",function(a,e,n){return!!this.optional(e)||(e=new RegExp(n).exec(a))&&0===e.index&&e[0].length===a.length}),o.addMethod("nonalphamin",function(a,e,n){var t;return t=n?(t=a.match(/\W/g))&&t.length>=n:t}),o.methods.extension?(a.addSingleVal("accept","mimtype"),a.addSingleVal("extension","extension")):a.addSingleVal("extension","extension","accept"),a.addSingleVal("regex","pattern"),a.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url"),a.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range"),a.addMinMax("minlength","minlength").addMinMax("maxlength","minlength","maxlength"),a.add("equalto",["other"],function(a){var e=n(a.element.name),e=m(a.params.other,e);l(a,"equalTo",s(a.form).find(":input").filter("[name='"+u(e)+"']")[0])}),a.add("required",function(a){"INPUT"===a.element.tagName.toUpperCase()&&"CHECKBOX"===a.element.type.toUpperCase()||l(a,"required",!0)}),a.add("remote",["url","type","additionalfields"],function(t){var i={url:t.params.url,type:t.params.type||"GET",data:{}},r=n(t.element.name);s.each((t.params.additionalfields||t.element.name).replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g),function(a,e){var n=m(e,r);i.data[n]=function(){var a=s(t.form).find(":input").filter("[name='"+u(n)+"']");return a.is(":checkbox")?a.filter(":checked").val()||a.filter(":hidden").val()||"":a.is(":radio")?a.filter(":checked").val()||"":a.val()}}),l(t,"remote",i)}),a.add("password",["min","nonalphamin","regex"],function(a){a.params.min&&l(a,"minlength",a.params.min),a.params.nonalphamin&&l(a,"nonalphamin",a.params.nonalphamin),a.params.regex&&l(a,"regex",a.params.regex)}),a.add("fileextensions",["extensions"],function(a){l(a,"extension",a.params.extensions)}),s(function(){o.unobtrusive.parse(document)}),o.unobtrusive});
--------------------------------------------------------------------------------
/skywalking-net-demo/wwwroot/lib/jquery-validation/LICENSE.md:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 | =====================
3 |
4 | Copyright Jörn Zaefferer
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in
14 | all copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 | THE SOFTWARE.
23 |
--------------------------------------------------------------------------------
/skywalking-net-demo/wwwroot/lib/jquery/LICENSE.txt:
--------------------------------------------------------------------------------
1 |
2 | Copyright OpenJS Foundation and other contributors, https://openjsf.org/
3 |
4 | Permission is hereby granted, free of charge, to any person obtaining
5 | a copy of this software and associated documentation files (the
6 | "Software"), to deal in the Software without restriction, including
7 | without limitation the rights to use, copy, modify, merge, publish,
8 | distribute, sublicense, and/or sell copies of the Software, and to
9 | permit persons to whom the Software is furnished to do so, subject to
10 | the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be
13 | included in all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
19 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
20 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
21 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/skywalking-nodejs-demo/README.md:
--------------------------------------------------------------------------------
1 | # SkyWalking上报Nodejs应用数据Demo
2 | ## 简介
3 | 1. 一个包含http请求代理转发和操作MySql的Go Demo。
4 | 2. 使用SkyWalking Nodejs Agent埋点监控,并将数据上报至可观测链路OpenTelemetry。
5 | ## 获取接入点信息
6 | 1. 登录[链路追踪控制台](https://tracing.console.aliyun.com/),在页面顶部选择需要接入的区域。
7 | 2. 在左侧导航栏单击集群配置,然后单击接入点信息页签。
8 | 3. 在接入点信息页签的集群信息区域打开显示Token开关。
9 | 4. 在客户端采集工具区域单击SkyWalking,获取接入点信息。
10 | ## 用SkyWalking为Nodejs应用自动埋点
11 | 1. 下载package
12 | ```
13 | npm install express body-parser
14 | npm install --save skywalking-backend-js
15 | ```
16 | 2. 运行Demo
17 | ```
18 | # 说明:和对应接入点信息。
19 |
20 | # step1: 配置环境变量。
21 | export SW_AGENT_COLLECTOR_BACKEND_SERVICES=
22 | export SW_AGENT_AUTHENTICATION=
23 | export SW_AGENT_NAME=
24 |
25 | # step2: 进入demo根目录,启动demo。
26 | node index.js
27 | ```
28 | 3. 使用Http请求,触发监控数据生成及上报。
29 | ```
30 | # 方法1: 命令行使用curl
31 | curl -X GET http://localhost:3000/api/service1
32 | curl -X GET http://localhost:3000/api/service2
33 |
34 | # 方法2: 打开浏览器,在地址栏输入url
35 | http://localhost:3000/api/service1
36 | http://localhost:3000/api/service2
37 |
38 | # 方法3: Intellij IDEA 新建http文件,在里面写http请求请求
39 | ```
40 | 4. 登录[链路追踪控制台](https://tracing.console.aliyun.com/),查看应用监控状态。
--------------------------------------------------------------------------------
/skywalking-nodejs-demo/index.js:
--------------------------------------------------------------------------------
1 | require('make-promises-safe')
2 |
3 | const {default: agent} = require("skywalking-backend-js");
4 |
5 |
6 | agent.start({
7 | // serviceName: "NodeJs-Agnet",
8 | // serviceInstance: "NodeJs-Agent",
9 | // collectorAddress: "10.114.126.48:11800"
10 | });
11 |
12 |
13 |
14 | const express = require('express');
15 | const bodyParser = require('body-parser');
16 | const app = express();
17 |
18 | // 解析请求体
19 | app.use(bodyParser.json());
20 |
21 | // 定义路由映射
22 | const routes = {
23 | '/api/service1': 'service1',
24 | '/api/service2': 'service2',
25 | // 可以添加更多路由映射
26 | };
27 |
28 | // 处理请求
29 | app.all('*', (req, res) => {
30 | const service = routes[req.path];
31 | if (service) {
32 | // 将请求转发给service处理
33 | const serviceModule = require(`./services/${service}`);
34 | serviceModule.handle(req, res);
35 | } else {
36 | res.status(404).send('Not Found');
37 | }
38 | });
39 |
40 | // 启动服务
41 | app.listen(3000, () => {
42 | console.log('Server is running on port 3000');
43 | });
--------------------------------------------------------------------------------
/skywalking-nodejs-demo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "skywalking-nodejs-demo",
3 | "version": "1.0.0",
4 | "dependencies": {
5 | "@grpc/grpc-js": "^1.8.17",
6 | "body-parser": "^1.20.2",
7 | "express": "^4.18.2",
8 | "make-promises-safe": "^5.1.0",
9 | "skywalking-backend-js": "^0.6.0"
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/skywalking-nodejs-demo/services/service1.js:
--------------------------------------------------------------------------------
1 | exports.handle = function(req, res) {
2 | // 处理service1的请求
3 | res.send('Hello from Service 1');
4 | };
--------------------------------------------------------------------------------
/skywalking-nodejs-demo/services/service2.js:
--------------------------------------------------------------------------------
1 | exports.handle = function(req, res) {
2 | // 处理service2的请求
3 | res.send('Hello from Service 2');
4 | };
--------------------------------------------------------------------------------
/skywalking-nodejs-demo/skywalking-nodejs-demo.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/skywalking-nodejs-demo/test/EnvTest.js:
--------------------------------------------------------------------------------
1 | const myVar = process.env.SW_AGENT_COLLECTOR_BACKEND_SERVICES
2 | console.log(myVar);
--------------------------------------------------------------------------------
/skywalking-php-demo/README.md:
--------------------------------------------------------------------------------
1 | # SkyWalking上报PHP应用数据Demo
2 | ## 简介
3 | 1. 一个简单的PHP Demo,借助swoole实现http server。
4 | 2. 使用SkyWalking PHP Agent埋点监控,并将数据上报至可观测链路OpenTelemetry。
5 | ## 获取接入点信息
6 | 1. 登录[链路追踪控制台](https://tracing.console.aliyun.com/),在页面顶部选择需要接入的区域。
7 | 2. 在左侧导航栏单击集群配置,然后单击接入点信息页签。
8 | 3. 在接入点信息页签的集群信息区域打开显示Token开关。
9 | 4. 在客户端采集工具区域单击SkyWalking,获取接入点信息。
10 | ## 用SkyWalking为PHP应用自动埋点
11 | 1. 安装skywalking-php agent
12 | ```
13 | 前提条件:
14 | PHP 7.2 - 8.x.
15 | GCC
16 | Rustc 1.56+
17 | Cargo
18 | Libclang 9.0+
19 | Make
20 | Protoc
21 |
22 | 安装skywalking-php agent:
23 | pecl install skywalking_agent
24 |
25 | 或者(从源代码编译)
26 |
27 | git clone --recursive https://github.com/apache/skywalking-php.git
28 | cd skywalking-php
29 |
30 | phpize
31 | ./configure
32 | make
33 | make install
34 |
35 | 验证是否启动成功
36 | php --ri skywalking_agent
37 |
38 | 预期输出:
39 | skywalking_agent
40 |
41 | version => 0.5.0
42 | authors => Apache Software Foundation:jmjoy :Yanlong He
43 |
44 | ```
45 |
46 | * 补充:demo使用了swoole框架,mac安装swoole请参考[安装Swoole](https://www.easyswoole.com/QuickStart/installSwoole.html)
47 |
48 | 3. 配置skywalking-php agent参数(将配置参数添加到你的php.ini文件中)
49 |
50 | * your-service-name: 你的服务名称。
51 | * your-backend-server-address: 你的接入点地址。
52 | * your-auth-token: 你的接入点鉴权令牌。
53 |
54 | ```
55 | [skywalking_agent]
56 | extension = skywalking_agent.so
57 |
58 | ; Enable skywalking_agent extension or not.
59 | skywalking_agent.enable = 1
60 |
61 | ; Log file path.
62 | skywalking_agent.log_file = /tmp/skywalking-agent.log
63 |
64 | ; Log level: one of `OFF`, `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`.
65 | skywalking_agent.log_level = INFO
66 |
67 | ; Address of skywalking oap server.
68 | skywalking_agent.server_addr =
69 | skywalking_agent.authentication =
70 |
71 | ; Application service name.
72 | skywalking_agent.service_name =
73 |
74 | ; 说明:demo使用了swoole框架,所以需要额外安装swoole依赖
75 | [swoole]
76 | extension=swoole.so
77 | ```
78 | 3. 重启PHP应用
79 | 4. 使用Http请求,触发监控数据生成及上报,
80 | ```
81 | 浏览器地址栏输入 http://localhost:10000/ 或 http://localhost:10000/ping
82 | ```
83 | 5. 登录[链路追踪控制台](https://tracing.console.aliyun.com/),查看应用监控状态。
--------------------------------------------------------------------------------
/skywalking-php-demo/conf/php.ini:
--------------------------------------------------------------------------------
1 | [skywalking_agent]
2 | extension = skywalking_agent.so
3 |
4 | ; Enable skywalking_agent extension or not.
5 | skywalking_agent.enable = 1
6 |
7 | ; Log file path.
8 | skywalking_agent.log_file = /tmp/skywalking-agent.log
9 |
10 | ; Log level: one of `OFF`, `TRACE`, `DEBUG`, `INFO`, `WARN`, `ERROR`.
11 | skywalking_agent.log_level = INFO
12 |
13 | ; Address of skywalking oap server.
14 | skywalking_agent.server_addr =
15 | skywalking_agent.authentication =
16 |
17 | ; Application service name.
18 | skywalking_agent.service_name =
19 |
20 | [swoole]
21 | extension=swoole.so
--------------------------------------------------------------------------------
/skywalking-php-demo/main.php:
--------------------------------------------------------------------------------
1 | on('request', function (Request $request, Response $response) {
9 | $method = $request->server['request_method'];
10 | $path = $request->server['request_uri'];
11 |
12 | switch ($method) {
13 | case 'GET':
14 | handleGetRequest($request, $response, $path);
15 | break;
16 | case 'POST':
17 | handlePostRequest($request, $response, $path);
18 | break;
19 | default:
20 | $response->status(400);
21 | $response->end('Bad Request');
22 | break;
23 | }
24 | });
25 |
26 | function handleGetRequest(Request $request, Response $response, string $path)
27 | {
28 | switch ($path) {
29 | case '/':
30 | $response->status(200);
31 | $response->header('Content-Type', 'text/plain');
32 | $response->end('Hello, World!');
33 | break;
34 | case '/ping':
35 | $response->status(200);
36 | $response->header('Content-Type', 'text/plain');
37 | $response->end('Pong');
38 | break;
39 | default:
40 | $response->status(404);
41 | $response->end('Not Found');
42 | break;
43 | }
44 | }
45 |
46 | function handlePostRequest(Request $request, Response $response, string $path)
47 | {
48 | switch ($path) {
49 | case '/echo':
50 | $response->status(200);
51 | $response->header('Content-Type', 'text/plain');
52 | $response->end($request->rawContent());
53 | break;
54 | default:
55 | $response->status(404);
56 | $response->end('Not Found');
57 | break;
58 | }
59 | }
60 |
61 | $http->start();
--------------------------------------------------------------------------------
/skywalking-python-demo/README.md:
--------------------------------------------------------------------------------
1 | # SkyWalking上报Python应用数据Demo
2 | ## 简介
3 | 1. 一个包含http请求和操作MySql的Python Demo。
4 | 2. 使用SkyWalking-Python Agent埋点监控,并将数据上报至可观测链路OpenTelemetry。
5 | ## 获取接入点信息
6 | 1. 登录[链路追踪控制台](https://tracing.console.aliyun.com/),在页面顶部选择需要接入的区域。
7 | 2. 在左侧导航栏单击集群配置,然后单击接入点信息页签。
8 | 3. 在接入点信息页签的集群信息区域打开显示Token开关。
9 | 4. 在客户端采集工具区域单击SkyWalking,获取接入点信息。
10 | ## 用SkyWalking为Python应用自动埋点
11 | ### SkyWalking-Python版本 1.0.1
12 | 1. 下载package
13 | ```
14 | pip3 install flask
15 | pip3 install flask_sqlalchemy
16 | pip3 install requests=2.19.1
17 | pip3 install apache-skywalking==1.0.1
18 | ```
19 | 2. 在proxy/TestProxy.py和controller/TestController.py中分别配置接入信息和应用信息。
20 | ```
21 | # 说明:和
22 | from skywalking import config
23 | config.init(agent_collector_backend_services=,
24 | agent_authentication=,
25 | agent_name=,
26 | ```
27 | 2. 加载skywalking-agent。
28 | ```
29 | from skywalking import agent
30 | agent.start()
31 | ```
32 | 3. 启动demo,并产生上报数据。
33 | ```
34 | # demo用到了flask_sqlalchemy库操作MySql,所以需要配置数据库的连接信息SQLALCHEMY_DATABASE_URI
35 | app = Flask(__name__)
36 | app.config['SQLALCHEMY_DATABASE_URI'] = ''
37 | db = SQLAlchemy(app)
38 |
39 | # demo采用Flask实现简单的请求转发,http请求先到达TestProxy,main再将请求转发给TestController。所以需要启动两个python文件。
40 | python3.11 proxy/TestProxy.py --host --port
41 | python3.11 controller/TestController.py --host --port
42 | ```
43 | 4. 使用Http请求,触发监控数据生成及上报。
44 | ```
45 | # 方法1: 命令行使用crul构建http请求。
46 | curl -l http://127.0.0.1:9999/forward/user
47 |
48 | # 方法2: 在httprequests子文件夹中用requests库发送http请求。示例demo在APITest.py中。
49 | import requests
50 | url = 'http://127.0.0.1:9999/forward/user'
51 | username = 'LiuHan'
52 | password = 'lh232r425'
53 | headers = {'Content-Type': 'application/json'}
54 | data = json.dumps({'username': username, 'password': password})
55 | response = requests.post(url, headers=headers, data=data)
56 |
57 | # 方法3:在APITest.http中构建http请求。
58 | GET http://127.0.0.1:9999/forward/user
59 | ```
60 |
61 |
--------------------------------------------------------------------------------
/skywalking-python-demo/controller/TestController.py:
--------------------------------------------------------------------------------
1 | import argparse
2 |
3 | from flask import Flask, request, jsonify
4 | import requests
5 | from flask_sqlalchemy import SQLAlchemy
6 | from skywalking import config, agent
7 |
8 |
9 | config.init(
10 | agent_collector_backend_services='',
11 | agent_protocol='grpc',
12 | agent_authentication='',
13 | agent_name='',
14 | agent_meter_reporter_active=False,
15 | agent_log_reporter_active=False)
16 |
17 |
18 | app = Flask(__name__)
19 |
20 |
21 | # 配置数据库的连接信息,需要替换成自己的数据库连接信息
22 | app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@127.0.0.1:3306/skywalking_test'
23 | # 关闭动态追踪修改的警告信息
24 | app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
25 | # 展示sql语句
26 | app.config['SQLALCHEMY_ECHO'] = True
27 | db = SQLAlchemy(app)
28 |
29 |
30 | class User(db.Model):
31 | id = db.Column(db.Integer, primary_key=True, autoincrement=True)
32 | username = db.Column(db.String(50), nullable=False)
33 | password = db.Column(db.String(50), nullable=False)
34 |
35 | def to_dict(self):
36 | return dict(id=self.id, name=self.username, password=self.password)
37 |
38 |
39 | agent.start()
40 |
41 |
42 | @app.route('/user', methods=['GET'])
43 | def get_all_users():
44 | users = User.query.all()
45 | return jsonify([user.to_dict() for user in users])
46 |
47 |
48 | @app.route('/user', methods=['POST'])
49 | def add_user():
50 | data = request.get_json()
51 | username = data.get('username')
52 | password = data.get('password')
53 | print('erve brb')
54 | if username and password:
55 | user = User(username=username, password=password)
56 | db.session.add(user)
57 | db.session.commit()
58 | return jsonify(user.to_dict())
59 | else:
60 | return jsonify(error='Bad Request'), 400
61 |
62 |
63 | @app.route('/user/', methods=['PUT'])
64 | def update_user(user_id):
65 | user = User.query.filter_by(id=user_id).first()
66 | if user:
67 | data = request.get_json()
68 | name = data.get('username')
69 | password = data.get('password')
70 | if name:
71 | user.username = name
72 | if password:
73 | user.password = password
74 | db.session.commit()
75 | return jsonify(user.to_dict())
76 | else:
77 | return jsonify(error='User not found'), 404
78 |
79 |
80 | @app.route('/user/', methods=['DELETE'])
81 | def delete_user(user_id):
82 | user = User.query.filter_by(id=user_id).first()
83 | if user:
84 | db.session.delete(user)
85 | db.session.commit()
86 | return '', 204
87 | else:
88 | return jsonify(error='User not found'), 404
89 |
90 |
91 | @app.route('/test', methods=['GET'])
92 | def test():
93 | return 'Hello, World!'
94 |
95 |
96 | if __name__ == '__main__':
97 | parser = argparse.ArgumentParser()
98 | parser.add_argument("--host", type=str, default="127.0.0.1")
99 | parser.add_argument("--port", type=int, default=10000)
100 |
101 | args = parser.parse_args()
102 |
103 | app.run(debug=False, host=args.host, port=args.port)
104 |
105 |
--------------------------------------------------------------------------------
/skywalking-python-demo/httprequests/APITest.http:
--------------------------------------------------------------------------------
1 | POST http://127.0.0.1:9999/user HTTP/1.1
2 | Content-Type: application/json
3 |
4 | {
5 | "username": "LiMing",
6 | "password": "lmaaaecerrv3u4"
7 | }
8 |
9 | ###
10 | GET http://127.0.0.1:9999/user
11 |
12 | ###
13 | GET http://127.0.0.1:9999/user/1
14 |
15 | ###
16 | PUT http://127.0.0.1:9999/user/1 HTTP/1.1
17 | Content-Type: application/json
18 |
19 | {
20 | "password": "wmz1234567890"
21 | }
22 |
23 |
24 | ###
25 | GET http://127.0.0.1:9999/forward/user
--------------------------------------------------------------------------------
/skywalking-python-demo/httprequests/APITest.py:
--------------------------------------------------------------------------------
1 | import json
2 | from flask import jsonify, Flask
3 | import requests
4 |
5 | app = Flask(__name__)
6 |
7 |
8 | def test1():
9 | url = 'http://127.0.0.1:9999/forward/user'
10 | # import urllib3.contrib.pyopenssl
11 | username = 'LiuHan'
12 | password = 'lh232r425'
13 | headers = {'Content-Type': 'application/json'}
14 | data = json.dumps({'username': username, 'password': password})
15 | # urllib3.contrib.pyopenssl.inject_into_urllib3()
16 | response = requests.post(url, headers=headers, data=data)
17 | print(json.loads(response.text))
18 |
19 |
20 | def test2():
21 | url = 'http://127.0.0.1:9999/forward/user'
22 | response = requests.get(url)
23 | # with app.app_context():
24 | print(json.loads(response.text))
25 |
26 |
27 | def test3():
28 | url = 'http://127.0.0.1:9999/forward/user/1'
29 | headers = {'Content-Type': 'application/json'}
30 | data = json.dumps({'password': "urvbyertbtrbn"})
31 |
32 | response = requests.put(url=url, headers=headers, data=data)
33 |
34 | print(json.loads(response.text))
35 |
36 |
37 | if __name__ == "__main__":
38 | test2()
39 | test3()
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/skywalking-python-demo/httprequests/HttpRequest.py:
--------------------------------------------------------------------------------
1 | import requests
2 |
3 |
4 | def send_post_request(url, headers, data):
5 | response = requests.post(url=url, headers=headers, data=data)
6 | return response
--------------------------------------------------------------------------------
/skywalking-python-demo/proxy/TestProxy.py:
--------------------------------------------------------------------------------
1 |
2 | import json
3 | import requests
4 | from skywalking import agent, config
5 | from flask import Flask, request, jsonify
6 | from flask_sqlalchemy import SQLAlchemy
7 | import argparse
8 |
9 | from httprequests.HttpRequest import send_post_request
10 |
11 | config.init(
12 | agent_collector_backend_services='',
13 | agent_protocol='grpc',
14 | agent_authentication='',
15 | agent_name='',
16 | agent_meter_reporter_active=False,
17 | agent_log_reporter_active=False)
18 |
19 | agent.start()
20 |
21 | app = Flask(__name__)
22 |
23 | # 配置数据库的连接信息
24 | app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@127.0.0.1:3306/skywalking_test'
25 | # 关闭动态追踪修改的警告信息
26 | app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
27 | # 展示sql语句
28 | app.config['SQLALCHEMY_ECHO'] = True
29 | db = SQLAlchemy(app)
30 |
31 |
32 | class User(db.Model):
33 | id = db.Column(db.Integer, primary_key=True, autoincrement=True)
34 | username = db.Column(db.String(50), nullable=False)
35 | password = db.Column(db.String(50), nullable=False)
36 |
37 | def to_dict(self):
38 | return dict(id=self.id, name=self.username, password=self.password)
39 |
40 |
41 | # 定义路由
42 | @app.route('/', methods=['GET'])
43 | def index():
44 | return "hello"
45 |
46 |
47 | @app.route('/test', methods=['GET'])
48 | def test():
49 | url = 'http://127.0.0.1:10000/test'
50 | response = requests.get(url)
51 |
52 | return jsonify(response.text)
53 | # 处理响应
54 |
55 |
56 | @app.route('/api', methods=['POST'])
57 | def api():
58 | data = request.json
59 | response = {'message': 'Hello, {}!'.format(data.get('username'))}
60 | return jsonify(response)
61 |
62 |
63 | @app.route('/user', methods=['GET'])
64 | def get_all_users():
65 | users = User.query.all()
66 | return jsonify([user.to_dict() for user in users])
67 |
68 |
69 | @app.route('/user/', methods=['GET'])
70 | def get_user(user_id):
71 | user = User.query.filter_by(id=user_id).first()
72 | if user:
73 | return jsonify(user.to_dict())
74 | else:
75 | return jsonify(error='User not found'), 404
76 |
77 |
78 | @app.route('/user', methods=['POST'])
79 | def add_user():
80 | data = request.get_json()
81 | username = data.get('username')
82 | password = data.get('password')
83 | if username and password:
84 | user = User(username=username, password=password)
85 | db.session.add(user)
86 | db.session.commit()
87 | return jsonify(user.to_dict())
88 | else:
89 | return jsonify(error='Bad Request'), 400
90 |
91 |
92 | @app.route('/user/', methods=['PUT'])
93 | def update_user(user_id):
94 | user = User.query.filter_by(id=user_id).first()
95 | if user:
96 | data = request.get_json()
97 | name = data.get('username')
98 | password = data.get('password')
99 | if name:
100 | user.username = name
101 | if password:
102 | user.password = password
103 | db.session.commit()
104 | return jsonify(user.to_dict())
105 | else:
106 | return jsonify(error='User not found'), 404
107 |
108 |
109 | @app.route('/user/', methods=['DELETE'])
110 | def delete_user(user_id):
111 | user = User.query.filter_by(id=user_id).first()
112 | if user:
113 | db.session.delete(user)
114 | db.session.commit()
115 | return '', 204
116 | else:
117 | return jsonify(error='User not found'), 404
118 |
119 |
120 | @app.route('/forward/user', methods=['GET', 'POST'])
121 | def forward():
122 | response = None
123 | print("wvwvw")
124 | url = 'http://127.0.0.1:10000/user'
125 | if request.method == 'GET':
126 | response = requests.get(url=url)
127 | elif request.method == 'POST':
128 | data = request.get_json()
129 | username = data.get('username')
130 | password = data.get('password')
131 |
132 | headers = {'Content-Type': 'application/json'}
133 | newdata = {'username': username, 'password': password}
134 | json_data = json.dumps(newdata)
135 |
136 | # response = httprequests.post(url=url, headers=headers, data=json_data)
137 | response = send_post_request(url=url, headers=headers, data=json_data)
138 |
139 | if response.status_code == 200:
140 | return jsonify(response.text)
141 | else:
142 | return '请求失败'
143 |
144 |
145 | @app.route('/forward/user/', methods=['PUT'])
146 | def forward_update_user(user_id):
147 | response = None
148 | if request.method == 'PUT':
149 | url = 'http://127.0.0.1:10000/user' + '/' + str(user_id)
150 | headers = {'Content-Type': 'application/json'}
151 | response = requests.put(url=url, headers=headers, data=request.data)
152 |
153 | if response.status_code == 200:
154 | return jsonify(response.text)
155 | else:
156 | return '请求失败'
157 |
158 |
159 | @app.route('/forward/user/', methods=['DELETE'])
160 | def forward_delete_user(user_id):
161 | response = None
162 | if request.method == 'PUT':
163 | url = 'http://127.0.0.1:10000/user' + '/' + str(user_id)
164 | headers = {'Content-Type': 'application/json'}
165 | response = requests.put(url=url, headers=headers, data=request.data)
166 |
167 | if response.status_code == 200:
168 | return jsonify(response.text)
169 | else:
170 | return '请求失败'
171 |
172 |
173 | if __name__ == '__main__':
174 | parser = argparse.ArgumentParser()
175 | parser.add_argument("--host", type=str, default="127.0.0.1")
176 | parser.add_argument("--port", type=int, default=9999)
177 |
178 | args = parser.parse_args()
179 |
180 | app.run(debug=False, host=args.host, port=args.port)
181 |
--------------------------------------------------------------------------------
/skywalking-python-demo/test/DBConnTest.py:
--------------------------------------------------------------------------------
1 | from flask import jsonify, Flask
2 | from flask_sqlalchemy import SQLAlchemy
3 | from sqlalchemy import text
4 | from sqlalchemy.testing import db
5 | from sqlalchemy.sql import quoted_name
6 |
7 | app = Flask(__name__)
8 | app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@127.0.0.1:3306/skywalking_test' # 根据自己数据库实际情况进行修改
9 | app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
10 | app.config['SQLALCHEMY_ECHO'] = True
11 | db = SQLAlchemy(app)
12 |
13 |
14 | @app.route('/test', methods=['GET'])
15 | def test_connection():
16 | result = db.session.execute(text("select * from " + quoted_name("user", True)))
17 | # result = db.session.execute(text("show tables"))
18 | # return result
19 | # result = db.session.execute(text("show tables"))
20 | tables = [row[1] for row in result.fetchall()]
21 | return jsonify(tables)
22 |
23 |
24 | if __name__ == '__main__':
25 | app.run(debug=False, host='127.0.0.1', port=9000)
26 |
--------------------------------------------------------------------------------
/skywalking-python-demo/test/EnvTest.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 |
4 | def test1():
5 | env_var = os.environ.get('SW_AGENT_COLLECTOR_BACKEND_SERVICES')
6 | print(env_var)
7 |
8 |
9 | if __name__ == "__main__":
10 | test1()
11 |
12 |
--------------------------------------------------------------------------------
/skywalking-python-demo/test/ReloadingTest.py:
--------------------------------------------------------------------------------
1 | import time
2 |
3 | from reloading import reloading
4 |
5 |
6 | def test1():
7 | for i in range(100):
8 | print(f"|i={i}|")
9 | time.sleep(1.0)
10 |
11 |
12 | if __name__ == "__main__":
13 | test1()
14 |
--------------------------------------------------------------------------------
/skywalking-python-demo/test/SkywalkingSpanTest.py:
--------------------------------------------------------------------------------
1 | from skywalking import Component
2 | from skywalking.trace.context import SpanContext, get_context
3 | from skywalking.trace.tags import Tag
4 |
5 |
6 | context: SpanContext = get_context()
7 |
8 | with context.new_entry_span(op="func1") as span:
9 | pass
10 |
11 |
12 |
--------------------------------------------------------------------------------
/skywalking-python-demo/test/span-demo-1.py:
--------------------------------------------------------------------------------
1 | from skywalking import agent, config
2 |
3 | # 定义Skywalking代理
4 | config.service_name = "my-service"
5 | config.logging_level = "DEBUG"
6 | agent.start()
7 |
8 |
9 | # 定义一个简单的函数
10 | def hello(name):
11 | print(f"Hello, {name}!")
12 |
13 |
14 | # 将函数包装到Skywalking跨度中
15 | with agent.start_span(operation_name="test-span") as span:
16 | span.set_tag("Hello", "World")
17 | hello("Skywalking")
18 | # 获取所有跨度对象的列表
19 | span_list = agent.get_spans()
20 | print(span_list)
21 |
22 | # 停止Skywalking代理
23 | agent.stop()
24 |
--------------------------------------------------------------------------------
/skywalking-rust-demo/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Editor-based HTTP Client requests
5 | /httpRequests/
6 | # Datasource local storage ignored files
7 | /dataSources/
8 | /dataSources.local.xml
9 |
--------------------------------------------------------------------------------
/skywalking-rust-demo/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/skywalking-rust-demo/.idea/skywalking-rust-demo.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/skywalking-rust-demo/Cargo.toml:
--------------------------------------------------------------------------------
1 | [package]
2 | name = "myproject"
3 | version = "0.1.0"
4 | edition = "2018"
5 |
6 | [dependencies]
7 | skywalking = "0.6.0"
8 | base64 = "0.13.0"
9 | bytes = "1.2.1"
10 | cfg-if = "1.0.0"
11 | futures-core = "0.3.21"
12 | futures-util = "0.3.21"
13 | hostname = { version = "0.3.1", optional = true }
14 | once_cell = "1.14.0"
15 | parking_lot = "0.12.1"
16 | portable-atomic = { version = "0.3.13", features = ["float"] }
17 | prost = "0.11.0"
18 | prost-derive = "0.11.0"
19 | serde = { version = "1.0.143", features = ["derive"] }
20 | systemstat = { version = "0.2.0", optional = true }
21 | thiserror = "1.0.32"
22 | tokio-io = "0.1.13"
23 | tokio = { version = "1.20.1", features = ["parking_lot"] }
24 | tokio-stream = { version = "0.1.9", features = ["time"] }
25 | tonic = { version = "0.8.0", features = ["codegen"] }
26 | tracing = "0.1.36"
27 | uuid = { version = "1.1.2", features = ["serde", "v4"] }
28 | # add by longxi
29 | anyhow = "1.0.32"
30 | #hyper = { version = "1.0.0-rc.3", features = ["full"] }
31 | hyper = "0.14.27"
32 | #tokio = { version = "1", features = ["full"] }
33 | pretty_env_logger = "0.4"
34 | http-body-util = "0.1.0-rc.2"
35 | #bytes = "1"
36 | #serde = { version = "1.0", features = ["derive"] }
37 | serde_json = "1.0"
38 | url = "2.2"
39 | http = "0.2"
40 | axum="0.6.16"
41 | #futures-util = { version = "0.3", default-features = false, features = ["alloc"] }
42 |
43 | [build-dependencies]
44 | protobuf-src = { version = "1.0.5", optional = true }
45 | tonic-build = "0.8.0"
46 |
47 | [dev-dependencies]
48 | tokio = { version = "1.20.1", features = ["rt-multi-thread", "signal"] }
49 | tokio-stream = { version = "0.1.9", features = ["net"] }
--------------------------------------------------------------------------------
/skywalking-rust-demo/README.md:
--------------------------------------------------------------------------------
1 | # SkyWalking上报Rust应用数据Demo
2 | ## 简介
3 | 1. 一个简单的Rust Demo,基于Hyper构建的Http服务器。
4 | 2. 使用skywalking-rust agent埋点监控,并将数据上报至可观测链路OpenTelemetry。
5 | ## 获取接入点信息
6 | 1. 登录[链路追踪控制台](https://tracing.console.aliyun.com/),在页面顶部选择需要接入的区域。
7 | 2. 在左侧导航栏单击集群配置,然后单击接入点信息页签。
8 | 3. 在接入点信息页签的集群信息区域打开显示Token开关。
9 | 4. 在客户端采集工具区域单击SkyWalking,获取接入点信息。
10 | ## 用SkyWalking为Rust应用埋点
11 | 1. Rust项目引入skywalking-rust
12 | ```
13 | # 选择skywalking-rust版本
14 | 该demo使用skywalking-rust 0.6.0版本
15 |
16 | # 添加skywalking-rust依赖到Cargo.toml文件
17 | [dependencies]
18 | skywalking = "0.6.0"
19 |
20 | # 引入头文件
21 | use skywalking::{reporter::grpc::GrpcReporter, trace::tracer::Tracer};
22 | ```
23 | 2. 手动埋点
24 | ```
25 | # 说明: skywalking-rust暂不支持监控应用自动埋点,所以需要使用者手动埋点。
26 |
27 | # 使用EntrySpan、LocalSpan、ExitSpan完成调用链手动埋点,使用这三种Span,可以完成全链路追踪。
28 | EntrySpan: 入口Span,服务端使用EntrySpan从Http请求中拿到链路追踪上下文。
29 | LocalSpan: 本地Span,同一进程内可使用该Span埋点。
30 | ExitSpan: 出口Span,客户端使用ExitSpan向Http请求中注入链路追踪上下文。
31 | ```
32 | 3. 设置接入点信息
33 | ```
34 | # 说明: 是接入点地址,是接入点token,是应用名称。
35 |
36 | let collector_backend_address = "";
37 | let auth_token = "";
38 | let service_name = "";
39 |
40 | let reporter = GrpcReporter::connect(collector_backend_address).await?;
41 | let reporter = reporter.with_authentication(auth_token);
42 | let tracer = Tracer::new(service_name, "instance", reporter.clone());
43 | ```
44 | 4. 使用Http请求,触发监控数据生成及上报。
45 | ```
46 | # 方法1: 命令行使用curl
47 | curl -X GET http://localhost:9999/hello
48 | curl -X POST -H "Content-Type: application/json" -d '{"name": "Alice", "age": 30}' http://localhost:9999/echo
49 |
50 | # 方法2: 打开浏览器,在地址栏输入url
51 | http://localhost:9999/hello
52 |
53 | # 方法3: idea新建http文件,在里面写http请求
54 | ```
55 | 5. 登录[链路追踪控制台](https://tracing.console.aliyun.com/),查看应用监控状态。
--------------------------------------------------------------------------------
/skywalking-rust-demo/src/main.rs:
--------------------------------------------------------------------------------
1 | use hyper::{Body, Method, Request, Response, Server, StatusCode};
2 | use hyper::service::{service_fn, make_service_fn};
3 | use std::error::Error;
4 | use tokio::signal;
5 |
6 | use skywalking::{reporter::grpc::GrpcReporter, trace::tracer::Tracer};
7 |
8 |
9 | async fn handle_request(tracer: Tracer, req: Request) -> Result, hyper::Error> {
10 | let mut ctx = tracer.create_trace_context();
11 |
12 | {
13 | let _span = ctx.create_entry_span("/root");
14 |
15 | let path = req.uri().path();
16 | let method = req.method();
17 | let mut response = Response::new(Body::empty());
18 | {
19 | if method == Method::GET && path == "/hello" {
20 | let _span2 = ctx.create_local_span("/hello");
21 |
22 | *response.body_mut() = Body::from("Hello, World!");
23 |
24 | Ok(response)
25 | } else if method == Method::POST && path == "/echo" {
26 | let _span3 = ctx.create_local_span("/echo");
27 |
28 | let whole_body = hyper::body::to_bytes(req.into_body()).await?;
29 | let body_str = String::from_utf8_lossy(&whole_body).to_string();
30 | *response.body_mut() = Body::from(body_str);
31 |
32 | Ok(response)
33 | } else {
34 | *response.status_mut() = StatusCode::NOT_FOUND;
35 | *response.body_mut() = Body::from("404 Not Found");
36 |
37 | Ok(response)
38 | }
39 | }
40 | }
41 |
42 | }
43 |
44 | #[tokio::main]
45 | async fn main() -> Result<(), Box> {
46 | // Connect to skywalking oap server.
47 | let collector_backend_address = "";
48 | let auth_token = "";
49 |
50 | let service_name = "";
51 | let listen_addr = ([0, 0, 0, 0], 9999).into();
52 |
53 | let reporter = GrpcReporter::connect(collector_backend_address).await?;
54 | // Optional authentication, based on backend setting.
55 | let reporter = reporter.with_authentication(auth_token);
56 | // Spawn the reporting in background, with listening the graceful shutdown signal.
57 | let handle = reporter
58 | .reporting()
59 | .await
60 | .with_graceful_shutdown(async move {
61 | signal::ctrl_c().await.expect("failed to listen for event");
62 | })
63 | .spawn();
64 |
65 | // Do tracing.
66 | let tracer = Tracer::new(service_name, "instance", reporter.clone());
67 |
68 | // 启动 HTTP 服务器,并等待请求的到来
69 | // let addr = ([0, 0, 0, 0], 9999).into();
70 | let server = Server::bind(&listen_addr).serve(make_service_fn(|_| {
71 | let tracer = tracer.clone();
72 | async {
73 | Ok::<_, hyper::Error>(service_fn(move |req|{
74 | let tracer = tracer.clone();
75 | // let cloned_tracer = cloned_tracer.clone();
76 | async move {
77 | handle_request(tracer, req).await
78 | }
79 | }))
80 | }}));
81 |
82 | println!("Listening on http://{}", listen_addr);
83 |
84 | // 等待 HTTP 服务器退出
85 | server.await?;
86 |
87 | handle.await?;
88 |
89 | Ok(())
90 | }
91 |
--------------------------------------------------------------------------------