How to build Skywalking tutorial with Docker
This article explains how to integrate ASP.NET Core and Skywalking together.
First, create a new MVC project for asp.net Core 3.1 with the name: sky-apm-demo
nuget install command:
Install the SkyAPM.DotNet.CLI tool
This tool just helps us generate skyapm.json configuration files through command line parameters, in fact,It doesn't matter if you install it or not, and there is a pit here.
The generated configuration files HeaderVersions and ProtocolVersion are wrong, which results inData cannot be submitted to the Skywalking service。
The correct configuration is as follows:
Configuration documentation:The hyperlink login is visible.
Copy the skyapm.json file to our project root.
Modify the /Properties/launchSettings.json file to add the ASPNETCORE_HOSTINGSTARTUPASSEMBLIES configuration as follows:
At the same time, we create two new methods in the controller, as follows:
Launch our website and try to access a different URL address as follows:
We can view the skyapm logs in the logs folder of the project root, as follows:
2020-11-06 10:04:49.972 +08:00 [sky_apm_demo] [Information] SkyApm.InstrumentStartup : Initializing ... 2020-11-06 10:04:50.004 +08:00 [sky_apm_demo] [Information] SkyApm.Service.RegisterService : Loaded instrument service [SkyApm.Service.RegisterService]. 2020-11-06 10:04:50.004 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Loaded instrument service [SkyApm.Service.PingService]. 2020-11-06 10:04:50.005 +08:00 [sky_apm_demo] [Information] SkyApm.Service.SegmentReportService : Loaded instrument service [SkyApm.Service.SegmentReportService]. 2020-11-06 10:04:50.005 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Loaded instrument service [SkyApm.Service.CLRStatsService]. 2020-11-06 10:04:50.005 +08:00 [sky_apm_demo] [Information] SkyApm.Sampling.SimpleCountSamplingInterceptor : Loaded instrument service [ SkyApm.Sampling.SimpleCountSamplingInterceptor]. 2020-11-06 10:04:50.005 +08:00 [sky_apm_demo] [Information] SkyApm.Transport.Grpc.ConnectService : Loaded instrument service [SkyApm.Transport.Grpc.ConnectService]. 2020-11-06 10:04:50.038 +08:00 [sky_apm_demo] [Information] SkyApm.Diagnostics.TracingDiagnosticProcessorObserver : Loaded diagnostic listener [Microsoft.AspNetCore]. 2020-11-06 10:04:50.039 +08:00 [sky_apm_demo] [Information] SkyApm.InstrumentStartup : Started SkyAPM .NET Core Agent. 2020-11-06 10:04:50.080 +08:00 [sky_apm_demo] [Information] SkyApm.Transport.Grpc.ConnectionManager : Connected server[192.168.40.129:11800]. 2020-11-06 10:04:51.030 +08:00 [sky_apm_demo] [Information] SkyApm.Service.RegisterService : Reported Service Instance Properties[Service=sky_apm_demo,InstanceId= e0a72ff567ea445eb51bd43c1d8983fc]. 2020-11-06 10:05:08.194 +08:00 [sky_apm_demo] [Information] SkyApm.Transport.Grpc.V8.SegmentReporter : Report 2 trace segment. cost: 00:00:00.1514860s 2020-11-06 10:05:10.996 +08:00 [sky_apm_demo] [Information] SkyApm.Diagnostics.TracingDiagnosticProcessorObserver : Loaded diagnostic listener [HttpHandlerDiagnosticListener]. 2020-11-06 10:05:14.037 +08:00 [sky_apm_demo] [Information] SkyApm.Transport.Grpc.V8.SegmentReporter : Report 4 trace segment. cost: 00:00:00.0230363s 2020-11-06 10:05:20.041 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:05:20 +00:00 2020-11-06 10:05:20.045 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 8M ThreadPool 32759 32767 1000 1000 2020-11-06 10:05:29.021 +08:00 [sky_apm_demo] [Information] SkyApm.Transport.Grpc.V8.SegmentReporter : Report 3 trace segment. cost: 00:00:00.0098886s 2020-11-06 10:05:32.023 +08:00 [sky_apm_demo] [Information] SkyApm.Transport.Grpc.V8.SegmentReporter : Report 3 trace segment. cost: 00:00:00.0082101s 2020-11-06 10:05:35.031 +08:00 [sky_apm_demo] [Information] SkyApm.Transport.Grpc.V8.SegmentReporter : Report 6 trace segment. cost: 00:00:00.0180070s 2020-11-06 10:05:41.024 +08:00 [sky_apm_demo] [Information] SkyApm.Transport.Grpc.V8.SegmentReporter : Report 6 trace segment. cost: 00:00:00.0124269s 2020-11-06 10:05:47.021 +08:00 [sky_apm_demo] [Information] SkyApm.Transport.Grpc.V8.SegmentReporter : Report 2 trace segment. cost: 00:00:00.0101354s 2020-11-06 10:05:50.020 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 10M ThreadPool 32762 32767 1000 1000 2020-11-06 10:06:20.018 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:06:20 +00:00 2020-11-06 10:06:20.020 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 10M ThreadPool 32760 32767 1000 1000 2020-11-06 10:06:50.018 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 10M ThreadPool 32762 32767 1000 1000 2020-11-06 10:07:20.023 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:07:20 +00:00 2020-11-06 10:07:20.023 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 10M ThreadPool 32761 32767 1000 1000 2020-11-06 10:07:50.016 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 11M ThreadPool 32760 32767 1000 1000 2020-11-06 10:08:20.018 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:08:20 +00:00 2020-11-06 10:08:20.018 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 11M ThreadPool 32759 32767 1000 1000 2020-11-06 10:08:50.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 11M ThreadPool 32759 32767 1000 1000 2020-11-06 10:09:20.025 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:09:20 +00:00 2020-11-06 10:09:20.029 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 11M ThreadPool 32758 32767 1000 1000 2020-11-06 10:09:50.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 12M ThreadPool 32762 32767 1000 1000 2020-11-06 10:10:20.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 12M ThreadPool 32761 32767 1000 1000 2020-11-06 10:10:20.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:10:20 +00:00 2020-11-06 10:10:50.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 12M ThreadPool 32761 32767 1000 1000 2020-11-06 10:11:20.026 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 13M ThreadPool 32760 32767 1000 1000 2020-11-06 10:11:20.026 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:11:20 +00:00 2020-11-06 10:11:50.015 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 13M ThreadPool 32760 32767 1000 1000 2020-11-06 10:12:20.023 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:12:20 +00:00 2020-11-06 10:12:20.025 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 13M ThreadPool 32761 32767 1000 1000 2020-11-06 10:12:50.024 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 13M ThreadPool 32761 32767 1000 1000 2020-11-06 10:13:20.020 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:13:20 +00:00 2020-11-06 10:13:20.021 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 14M ThreadPool 32759 32767 1000 1000 2020-11-06 10:13:50.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 1 0 0 4M ThreadPool 32759 32767 1000 1000 2020-11-06 10:14:20.016 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 4M ThreadPool 32760 32767 1000 1000 2020-11-06 10:14:20.016 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:14:20 +00:00 2020-11-06 10:14:50.014 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 5M ThreadPool 32758 32767 1000 1000 2020-11-06 10:15:20.029 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 5M ThreadPool 32761 32767 1000 1000 2020-11-06 10:15:20.029 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:15:20 +00:00 2020-11-06 10:15:50.014 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 5M ThreadPool 32762 32767 1000 1000 2020-11-06 10:16:20.018 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:16:20 +00:00 2020-11-06 10:16:20.020 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 5M ThreadPool 32759 32767 1000 1000 2020-11-06 10:16:50.013 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 6M ThreadPool 32763 32767 1000 1000 2020-11-06 10:17:20.024 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 6M ThreadPool 32763 32767 1000 1000 2020-11-06 10:17:20.024 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:17:20 +00:00 2020-11-06 10:17:50.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 6M ThreadPool 32763 32767 1000 1000 2020-11-06 10:18:20.017 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 7M ThreadPool 32763 32767 1000 1000 2020-11-06 10:18:20.017 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:18:20 +00:00 2020-11-06 10:18:50.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 7M ThreadPool 32762 32767 1000 1000 2020-11-06 10:19:20.021 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 7M ThreadPool 32763 32767 1000 1000 2020-11-06 10:19:20.021 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:19:20 +00:00 2020-11-06 10:19:50.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 7M ThreadPool 32763 32767 1000 1000 2020-11-06 10:20:20.018 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:20:20 +00:00 2020-11-06 10:20:20.018 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 8M ThreadPool 32760 32767 1000 1000 2020-11-06 10:20:50.014 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 8M ThreadPool 32763 32767 1000 1000 2020-11-06 10:21:20.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 8M ThreadPool 32760 32767 1000 1000 2020-11-06 10:21:20.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:21:20 +00:00 2020-11-06 10:21:50.020 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 8M ThreadPool 32760 32767 1000 1000 2020-11-06 10:22:20.014 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 9M ThreadPool 32763 32767 1000 1000 2020-11-06 10:22:20.015 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:22:20 +00:00 2020-11-06 10:22:50.018 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 9M ThreadPool 32764 32767 1000 1000 2020-11-06 10:23:20.020 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 9M ThreadPool 32762 32767 1000 1000 2020-11-06 10:23:20.020 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:23:20 +00:00 2020-11-06 10:23:50.014 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 9M ThreadPool 32764 32767 1000 1000 2020-11-06 10:24:20.014 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 10M ThreadPool 32761 32767 1000 1000 2020-11-06 10:24:20.014 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:24:20 +00:00 2020-11-06 10:24:50.008 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 10M ThreadPool 32765 32767 1000 1000 2020-11-06 10:25:20.021 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:25:20 +00:00 2020-11-06 10:25:20.022 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 10M ThreadPool 32763 32767 1000 1000 2020-11-06 10:25:50.020 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 10M ThreadPool 32765 32767 1000 1000 2020-11-06 10:26:20.018 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 11M ThreadPool 32763 32767 1000 1000 2020-11-06 10:26:20.020 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:26:20 +00:00 2020-11-06 10:26:50.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 11M ThreadPool 32763 32767 1000 1000 2020-11-06 10:27:20.017 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 12M ThreadPool 32761 32767 1000 1000 2020-11-06 10:27:20.017 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:27:20 +00:00 2020-11-06 10:27:20.020 +08:00 [sky_apm_demo] [Information] SkyApm.Transport.Grpc.V8.SegmentReporter : Report 2 trace segment. cost: 00:00:00.0075005s 2020-11-06 10:27:23.031 +08:00 [sky_apm_demo] [Information] SkyApm.Transport.Grpc.V8.SegmentReporter : Report 6 trace segment. cost: 00:00:00.0156606s 2020-11-06 10:27:50.015 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 13M ThreadPool 32763 32767 1000 1000 2020-11-06 10:28:20.020 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 13M ThreadPool 32763 32767 1000 1000 2020-11-06 10:28:20.020 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:28:20 +00:00 2020-11-06 10:28:50.020 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 13M ThreadPool 32763 32767 1000 1000 2020-11-06 10:29:20.021 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 13M ThreadPool 32763 32767 1000 1000 2020-11-06 10:29:20.021 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:29:20 +00:00 2020-11-06 10:29:50.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 14M ThreadPool 32765 32767 1000 1000 2020-11-06 10:30:20.033 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:30:20 +00:00 2020-11-06 10:30:20.033 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 14M ThreadPool 32763 32767 1000 1000 2020-11-06 10:30:50.019 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 14M ThreadPool 32761 32767 1000 1000 2020-11-06 10:31:20.017 +08:00 [sky_apm_demo] [Information] SkyApm.Service.PingService : Ping server @2020/11/6 2:31:20 +00:00 2020-11-06 10:31:20.017 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 14M ThreadPool 32761 32767 1000 1000 2020-11-06 10:31:50.015 +08:00 [sky_apm_demo] [Information] SkyApm.Service.CLRStatsService : Report CLR Stats. CPU UsagePercent 0 GenCollectCount 0 0 0 15M ThreadPool 32763 32767 1000 1000
Accessing the SkyWalking UI panel, you can see the URL address requested by the user and the status of the service call, as shown in the following figure:
Finally, attach the source code:
Tourists, if you want to see the hidden content of this post, please Reply
|