From d443dff0509c836e171f8a6773cbec667db6b03d Mon Sep 17 00:00:00 2001 From: Engincan VESKE <43685404+EngincanV@users.noreply.github.com> Date: Sun, 29 Oct 2023 14:00:09 +0300 Subject: [PATCH 1/5] Initial commit for "ASP.NET Core Metrics" article --- .../POST.md | 123 ++++++++++++++++++ .../built-in-metric-response.png | Bin 0 -> 47699 bytes .../built-in-metrics.png | Bin 0 -> 12637 bytes .../metrics-endpoint.png | Bin 0 -> 180232 bytes 4 files changed, 123 insertions(+) create mode 100644 docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md create mode 100644 docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/built-in-metric-response.png create mode 100644 docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/built-in-metrics.png create mode 100644 docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/metrics-endpoint.png diff --git a/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md b/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md new file mode 100644 index 00000000000..f4645a207c0 --- /dev/null +++ b/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md @@ -0,0 +1,123 @@ +# .NET 8 - ASP.NET Core Metrics + +In this article, I'll show you new built-in metrics of .NET 8, which are basically numerical measurements reported over time in your application and can be used to monitor the health of your application and generate reports according to those numerical values. We will see what the metrics are, why to use them, and how to use them in detail. So, let's dive in. + +## What Are Metrics? + +Metrics are numerical measurements reported over time. These measurements are crucial for monitoring the health of an application and generating alerts when necessary. In the context of a web service, various metrics can be tracked, such as: + +* Requests per second. +* Response time. +* Status code counts etc... + +These metrics are not just collected; they are reported to a monitoring system at regular intervals. By doing so, the development and operations teams can visualize these metrics on dashboards (we will see it in the _[Creating Custom Metrics in ASP.NET Core Applications](#creating-custom-metrics-in-aspnet-core-applications)_ section). These dashboards provide a real-time overview of the application's performance and health. + +## Pre-Built Metrics + +ASP.NET Core has many built-in metrics. You can see the following figure for a list of built-in metrics for ASP.NET Core: + +![](built-in-metrics.png) + +> See https://learn.microsoft.com/en-us/dotnet/core/diagnostics/built-in-metrics-aspnetcore and https://github.com/dotnet/aspnetcore/issues/47536 for all built-in metrics and their descriptions. + +For example, we have the `kestrel-current-connections` metric that shows _number of connections that are currently active on the server_ and `http-server-request-duration` metric that shows _the duration of HTTP requests on the server_. + +All of these and other built-in metrics are produced by using the [**System.Diagnostics.Metrics**](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.metrics) API and with a small amount of code, we can use & view them. + +## Using Pre-Built Metrics + +Let's see the pre-built metrics in action. + +Create a new ASP.NET Core app with the following command and change the directory to the created application folder: + +```bash +dotnet new web -o MetricsDemo +cd MetricsDemo +``` + +After that open the application in your favourite IDE and add the following service registration code to your application: + +```csharp +var builder = WebApplication.CreateBuilder(args); + +builder.Services.AddOpenTelemetry() + .WithMetrics(builder => + { + builder.AddPrometheusExporter(); + + builder.AddMeter("Microsoft.AspNetCore.Hosting", + "Microsoft.AspNetCore.Server.Kestrel"); + builder.AddView("http.server.request.duration", + new ExplicitBucketHistogramConfiguration + { + Boundaries = new double[] { 0, 0.005, 0.01, 0.025, 0.05, + 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10 } + }); + }); +``` + +Here, we have done the following things: + +* `AddOpenTelemetry` method registers the required **OpenTelemetry** services into the DI container. +* `WithMetrics` method, we add pre-built metrics to the `OpenTelemetryBuilder` in the `AddMeter` method (_Microsoft.AspNetCore.Hosting_ and _Microsoft.AspNetCore.Server.Kestrel_ are pre-built metrics provided by ASP.NET Core). +* Also, we have used the `AddView` method to customize the output of the metrics by the SDK. Also, it can be used to customize which [Instruments](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#instrument) are to be processed or ignored. + +After making the related configurations, let's add the middlewares below and view the metrics: + +```csharp +app.MapPrometheusScrapingEndpoint(); + +app.MapGet("/", () => +{ + Thread.Sleep(2000); + + return "Hello, ABP Community member: " + DateTime.Now.Ticks.ToString()[^3..]; +}); +``` + +* `MapPrometheusScrapingEndpoint`: Adds OpenTelemetry Prometheus scraping endpoint middleware to the pipeline and then we can see the all metrics by navigating to the **/metrics** endpoints (optional): + +![](metrics-endpoint.png) + +### View Metrics + +You can use the `dotnet-counters` command-line tool, which allows you to view live metrics for .NET Core apps. You can run the following command to install the tool: + +```bash +dotnet tool update -g dotnet-counters +``` + +After the tool is installed, you can run the application and by running the `dotnet-counters` tool in a terminal, you can monitor for the specific metrics: + +```bash +dotnet-counters monitor -n Acme.BookStore --counters Microsoft.AspNetCore.Hosting +``` + +When you run the command, it will print a message like in the below and will wait an initial request to your application: + +```txt +Press p to pause, r to resume, q to quit. + Status: Waiting for initial payload... +``` + +If you send a request to your application, then the related built-in metrics that you have added will be collected and will be show in the terminal instantly: + +![](built-in-metric-response.png) + +Also, you can check for the other metric that we have used in the configuration, which is _Microsoft.AspNetCore.Server.Kestrel_ by setting it as a counter as in the command below, and when you send a request to your application, you will see different metrics: + +```bash +dotnet-counters monitor -n Acme.BookStore --counters Microsoft.AspNetCore.Server.Kestrel +``` + +## Creating Custom Metrics in ASP.NET Core Applications + +So far, we have seen what metrics are, which built-in metrics are provided by ASP.NET Core and see a sample application with the built-in metrics and also run the `dotnet-counters` global tool to view metrics. + +//TODO: create custom metrics by using the `IMeterFactory` interface and see it in prometheus or grafana!!! + +## References + +* https://learn.microsoft.com/en-us/aspnet/core/log-mon/metrics/metrics?view=aspnetcore-8.0 +* https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-5/ +* https://www.youtube.com/watch?v=A2pKhNQoQUU \ No newline at end of file diff --git a/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/built-in-metric-response.png b/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/built-in-metric-response.png new file mode 100644 index 0000000000000000000000000000000000000000..035e76de7dd10320a1dec53da0f093228693674f GIT binary patch literal 47699 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 literal 0 HcmV?d00001 diff --git a/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/built-in-metrics.png b/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/built-in-metrics.png new file mode 100644 index 0000000000000000000000000000000000000000..e36b37c395598bc5f0382f5e6b6928e50c895108 GIT binary patch literal 12637 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¬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 EAK3Ta+W-In literal 0 HcmV?d00001 From a692059ebaeff4aef81787dd01579a101bcd7056 Mon Sep 17 00:00:00 2001 From: Engincan VESKE <43685404+EngincanV@users.noreply.github.com> Date: Sun, 29 Oct 2023 15:08:45 +0300 Subject: [PATCH 2/5] Update POST.md --- .../POST.md | 85 +++++++++++++++++-- 1 file changed, 79 insertions(+), 6 deletions(-) diff --git a/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md b/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md index f4645a207c0..c5366134293 100644 --- a/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md +++ b/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md @@ -2,7 +2,7 @@ In this article, I'll show you new built-in metrics of .NET 8, which are basically numerical measurements reported over time in your application and can be used to monitor the health of your application and generate reports according to those numerical values. We will see what the metrics are, why to use them, and how to use them in detail. So, let's dive in. -## What Are Metrics? +## What are Metrics? Metrics are numerical measurements reported over time. These measurements are crucial for monitoring the health of an application and generating alerts when necessary. In the context of a web service, various metrics can be tracked, such as: @@ -10,7 +10,7 @@ Metrics are numerical measurements reported over time. These measurements are cr * Response time. * Status code counts etc... -These metrics are not just collected; they are reported to a monitoring system at regular intervals. By doing so, the development and operations teams can visualize these metrics on dashboards (we will see it in the _[Creating Custom Metrics in ASP.NET Core Applications](#creating-custom-metrics-in-aspnet-core-applications)_ section). These dashboards provide a real-time overview of the application's performance and health. +These metrics are not just collected; they are reported to a monitoring system at regular intervals. By doing so, the development and operations teams can visualize these metrics on dashboards. These dashboards provide a real-time overview of the application's performance and health. ## Pre-Built Metrics @@ -90,7 +90,7 @@ dotnet tool update -g dotnet-counters After the tool is installed, you can run the application and by running the `dotnet-counters` tool in a terminal, you can monitor for the specific metrics: ```bash -dotnet-counters monitor -n Acme.BookStore --counters Microsoft.AspNetCore.Hosting +dotnet-counters monitor -n MetricsDemo --counters Microsoft.AspNetCore.Hosting ``` When you run the command, it will print a message like in the below and will wait an initial request to your application: @@ -107,14 +107,87 @@ If you send a request to your application, then the related built-in metrics tha Also, you can check for the other metric that we have used in the configuration, which is _Microsoft.AspNetCore.Server.Kestrel_ by setting it as a counter as in the command below, and when you send a request to your application, you will see different metrics: ```bash -dotnet-counters monitor -n Acme.BookStore --counters Microsoft.AspNetCore.Server.Kestrel +dotnet-counters monitor -n MetricsDemo --counters Microsoft.AspNetCore.Server.Kestrel ``` ## Creating Custom Metrics in ASP.NET Core Applications -So far, we have seen what metrics are, which built-in metrics are provided by ASP.NET Core and see a sample application with the built-in metrics and also run the `dotnet-counters` global tool to view metrics. +So far, we have seen what metrics are, which built-in metrics are provided by ASP.NET Core and use the built-in metrics and run the `dotnet-counters` global tool to view these metrics. At this point, let's see how we can create custom metrics and view them via `dotnet-counters` tool. -//TODO: create custom metrics by using the `IMeterFactory` interface and see it in prometheus or grafana!!! +`IMeterFactory` is the recommended service to create *Meter* instances. ASP.NET Core registers `IMeterFactory` in dependency injection (DI) by default. The meter factory integrates metrics with DI, making isolating and collecting metrics easy. + +Assume that, we want to create a metric that holds the sold products in our application. For that purpose, as a first step, we can create a metric class as follows: + +```csharp +using System.Diagnostics.Metrics; + +namespace MetricsDemo; + +public class ProductMetrics +{ + private readonly Counter _soldProductsCount; + + public ProductMetrics(IMeterFactory meterFactory) + { + var meterInstance = meterFactory.Create("MetricsDemo.ProductStore"); + _soldProductsCount = meterInstance.CreateCounter("metricsdemo.productstore.sold_products_count"); + } + + public void IncreaseSoldProductCount(int quantity) + { + _soldProductsCount.Add(quantity); + } +} +``` + +In this class, we are creating a counter and defining metrics that we want to collect and view. `MetricsDemo.ProductStore` is the **counter name** and `metricsdemo.productstore.sold_products_count` is the **metric**, in our example. We need to register this class with a `Singleton` lifetime, because we don't want to reset the counter and want to keep it during the application runtime. + +> The [System.Diagnostics.Metrics.Meter](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.metrics.meter) type is the entry point for a library to create a named group of instruments. Instruments record the numeric measurements that are needed to calculate metrics. Here we used [CreateCounter](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.metrics.meter.createcounter) to create a Counter instrument named _metricsdemo.productstore.sold_products_count_. + +So, register the type with DI container in the `Program.cs` file (or you can implement the `ISingletonDependency` interface, if you are using an ABP based application): + +```csharp +builder.Services.AddSingleton(); +``` + +Then, we can inject this class and increase sold product count whenever it's needed. Since, we have registered it in DI, we can use it in minimal APIs like in the following example: + +```csharp +app.MapPost("/complete-sale", ([FromBody] ProductSoldModel model, ProductMetrics metrics) => +{ + // ... business logic such as saving the product to the database etc... ... + + metrics.IncreaseSoldProductCount(model.Quantity); +}); +``` + +Whenever a request made to this endpoint the metric that we defined (_metricsdemo.productstore.sold_products_count_) will be increased and we can see this metric via `dotnet-counters` global tool. You can run the following command to see the metrics: + +```bash +dotnet-counters monitor -n MetricsDemo --counters MetricsDemo.ProductStore +``` + +Here is an example output that you would see if you have made a POST requests to the `/complete-sale` endpoint: + +```txt +Press p to pause, r to resume, q to quit. + Status: Paused + +[MetricsDemo.ProductStore] + metricsdemo.productstore.sold_products_count (Count / 1 sec) 20 +``` + +### Advanced: View Metrics in Prometheus & Grafana - Building Dashboards + +It's a common requirement to build a dashboard and monitor the metrics and check the health of your applications. In that point, you can expose the metrics and scrape them using the [Prometheus](https://learn.microsoft.com/en-us/aspnet/core/log-mon/metrics/metrics?view=aspnetcore-8.0#set-up-and-configure-prometheus) and build dashboard by using the [Grafana](https://learn.microsoft.com/en-us/aspnet/core/log-mon/metrics/metrics?view=aspnetcore-8.0#show-metrics-on-a-grafana-dashboard). + +If you want to build a dashboard, you can see [this documentation of Microsoft](https://learn.microsoft.com/en-us/aspnet/core/log-mon/metrics/metrics?view=aspnetcore-8.0#view-metrics-in-grafana-with-opentelemetry-and-prometheus), which shows how to set up the **Prometheus server** and show metrics on a **Grafana** dashboard. + +Also, you can check [this video](https://www.youtube.com/watch?v=A2pKhNQoQUU) if you want to see it in action. + +## Conclusion + +In this article, I showed you the new built-in metrics of .NET8, describe what metrics are, which pre-built metrics are provided by ASP.NET Core, how to use & view these pre-built metrics and finally I have showed you how to create custom metrics and view it in a dashboard. If you want to learn more about the **Metrics System of .NET**, you can check out the references that I have shared below. ## References From e91c77fb942c81a98fb4083817a8613c1491996b Mon Sep 17 00:00:00 2001 From: Engincan VESKE <43685404+EngincanV@users.noreply.github.com> Date: Sun, 29 Oct 2023 15:25:57 +0300 Subject: [PATCH 3/5] Update POST.md --- .../POST.md | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md b/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md index c5366134293..07df71527d7 100644 --- a/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md +++ b/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md @@ -20,7 +20,7 @@ ASP.NET Core has many built-in metrics. You can see the following figure for a l > See https://learn.microsoft.com/en-us/dotnet/core/diagnostics/built-in-metrics-aspnetcore and https://github.com/dotnet/aspnetcore/issues/47536 for all built-in metrics and their descriptions. -For example, we have the `kestrel-current-connections` metric that shows _number of connections that are currently active on the server_ and `http-server-request-duration` metric that shows _the duration of HTTP requests on the server_. +For example, we have the `kestrel-current-connections` metric that shows the _number of connections that are currently active on the server_ and the `http-server-request-duration` metric that shows _the duration of HTTP requests on the server_. All of these and other built-in metrics are produced by using the [**System.Diagnostics.Metrics**](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.metrics) API and with a small amount of code, we can use & view them. @@ -35,7 +35,7 @@ dotnet new web -o MetricsDemo cd MetricsDemo ``` -After that open the application in your favourite IDE and add the following service registration code to your application: +After that open the application in your favorite IDE and add the following service registration code to your application: ```csharp var builder = WebApplication.CreateBuilder(args); @@ -58,11 +58,11 @@ builder.Services.AddOpenTelemetry() Here, we have done the following things: -* `AddOpenTelemetry` method registers the required **OpenTelemetry** services into the DI container. +* The `AddOpenTelemetry` method registers the required **OpenTelemetry** services into the DI container. * `WithMetrics` method, we add pre-built metrics to the `OpenTelemetryBuilder` in the `AddMeter` method (_Microsoft.AspNetCore.Hosting_ and _Microsoft.AspNetCore.Server.Kestrel_ are pre-built metrics provided by ASP.NET Core). * Also, we have used the `AddView` method to customize the output of the metrics by the SDK. Also, it can be used to customize which [Instruments](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#instrument) are to be processed or ignored. -After making the related configurations, let's add the middlewares below and view the metrics: +After making the related configurations, let's add the middleware below and view the metrics: ```csharp app.MapPrometheusScrapingEndpoint(); @@ -93,14 +93,14 @@ After the tool is installed, you can run the application and by running the `dot dotnet-counters monitor -n MetricsDemo --counters Microsoft.AspNetCore.Hosting ``` -When you run the command, it will print a message like in the below and will wait an initial request to your application: +When you run the command, it will print a message like in the one below and will wait for an initial request to your application: ```txt Press p to pause, r to resume, q to quit. Status: Waiting for initial payload... ``` -If you send a request to your application, then the related built-in metrics that you have added will be collected and will be show in the terminal instantly: +If you send a request to your application, then the related built-in metrics that you have added will be collected and will be shown in the terminal instantly: ![](built-in-metric-response.png) @@ -112,7 +112,7 @@ dotnet-counters monitor -n MetricsDemo --counters Microsoft.AspNetCore.Server.Ke ## Creating Custom Metrics in ASP.NET Core Applications -So far, we have seen what metrics are, which built-in metrics are provided by ASP.NET Core and use the built-in metrics and run the `dotnet-counters` global tool to view these metrics. At this point, let's see how we can create custom metrics and view them via `dotnet-counters` tool. +So far, we have seen what metrics are, which built-in metrics are provided by ASP.NET Core and use the built-in metrics and run the `dotnet-counters` global tool to view these metrics. At this point, let's see how we can create custom metrics and view them via the `dotnet-counters` tool. `IMeterFactory` is the recommended service to create *Meter* instances. ASP.NET Core registers `IMeterFactory` in dependency injection (DI) by default. The meter factory integrates metrics with DI, making isolating and collecting metrics easy. @@ -140,17 +140,17 @@ public class ProductMetrics } ``` -In this class, we are creating a counter and defining metrics that we want to collect and view. `MetricsDemo.ProductStore` is the **counter name** and `metricsdemo.productstore.sold_products_count` is the **metric**, in our example. We need to register this class with a `Singleton` lifetime, because we don't want to reset the counter and want to keep it during the application runtime. +In this class, we are creating a counter and defining metrics that we want to collect and view. `MetricsDemo.ProductStore` is the **counter name** and `metricsdemo.productstore.sold_products_count` is the **metric**, in our example. We need to register this class with a `Singleton` lifetime because we don't want to reset the counter and want to keep it during the application runtime. > The [System.Diagnostics.Metrics.Meter](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.metrics.meter) type is the entry point for a library to create a named group of instruments. Instruments record the numeric measurements that are needed to calculate metrics. Here we used [CreateCounter](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.metrics.meter.createcounter) to create a Counter instrument named _metricsdemo.productstore.sold_products_count_. -So, register the type with DI container in the `Program.cs` file (or you can implement the `ISingletonDependency` interface, if you are using an ABP based application): +So, register the type with the DI container in the `Program.cs` file (or you can implement the `ISingletonDependency` interface, if you are using an ABP based application): ```csharp builder.Services.AddSingleton(); ``` -Then, we can inject this class and increase sold product count whenever it's needed. Since, we have registered it in DI, we can use it in minimal APIs like in the following example: +Then, we can inject this class and increase sold product count whenever it's needed. Since we have registered it in DI, we can use it in minimal APIs like in the following example: ```csharp app.MapPost("/complete-sale", ([FromBody] ProductSoldModel model, ProductMetrics metrics) => @@ -161,13 +161,13 @@ app.MapPost("/complete-sale", ([FromBody] ProductSoldModel model, ProductMetrics }); ``` -Whenever a request made to this endpoint the metric that we defined (_metricsdemo.productstore.sold_products_count_) will be increased and we can see this metric via `dotnet-counters` global tool. You can run the following command to see the metrics: +Whenever a request is made to this endpoint the metric that we defined (_metricsdemo.productstore.sold_products_count_) will be increased and we can see this metric via the `dotnet-counters` global tool. You can run the following command to see the metrics: ```bash dotnet-counters monitor -n MetricsDemo --counters MetricsDemo.ProductStore ``` -Here is an example output that you would see if you have made a POST requests to the `/complete-sale` endpoint: +Here is an example output that you would see if you have made a POST request to the `/complete-sale` endpoint: ```txt Press p to pause, r to resume, q to quit. @@ -179,15 +179,15 @@ Press p to pause, r to resume, q to quit. ### Advanced: View Metrics in Prometheus & Grafana - Building Dashboards -It's a common requirement to build a dashboard and monitor the metrics and check the health of your applications. In that point, you can expose the metrics and scrape them using the [Prometheus](https://learn.microsoft.com/en-us/aspnet/core/log-mon/metrics/metrics?view=aspnetcore-8.0#set-up-and-configure-prometheus) and build dashboard by using the [Grafana](https://learn.microsoft.com/en-us/aspnet/core/log-mon/metrics/metrics?view=aspnetcore-8.0#show-metrics-on-a-grafana-dashboard). +It's a common requirement to build a dashboard and monitor the metrics and check the health of your applications. At that point, you can expose the metrics and scrape them using the [Prometheus](https://learn.microsoft.com/en-us/aspnet/core/log-mon/metrics/metrics?view=aspnetcore-8.0#set-up-and-configure-prometheus) and build a dashboard by using the [Grafana](https://learn.microsoft.com/en-us/aspnet/core/log-mon/metrics/metrics?view=aspnetcore-8.0#show-metrics-on-a-grafana-dashboard). -If you want to build a dashboard, you can see [this documentation of Microsoft](https://learn.microsoft.com/en-us/aspnet/core/log-mon/metrics/metrics?view=aspnetcore-8.0#view-metrics-in-grafana-with-opentelemetry-and-prometheus), which shows how to set up the **Prometheus server** and show metrics on a **Grafana** dashboard. +If you want to build a dashboard, you can see [this documentation from Microsoft](https://learn.microsoft.com/en-us/aspnet/core/log-mon/metrics/metrics?view=aspnetcore-8.0#view-metrics-in-grafana-with-opentelemetry-and-prometheus), which shows how to set up the **Prometheus server** and show metrics on a **Grafana** dashboard. Also, you can check [this video](https://www.youtube.com/watch?v=A2pKhNQoQUU) if you want to see it in action. ## Conclusion -In this article, I showed you the new built-in metrics of .NET8, describe what metrics are, which pre-built metrics are provided by ASP.NET Core, how to use & view these pre-built metrics and finally I have showed you how to create custom metrics and view it in a dashboard. If you want to learn more about the **Metrics System of .NET**, you can check out the references that I have shared below. +In this article, I showed you the new built-in metrics of .NET8, describe what metrics are, which pre-built metrics are provided by ASP.NET Core, how to use & view these pre-built metrics and finally, I have shown you how to create custom metrics and view them in a dashboard. If you want to learn more about the **Metrics System of .NET**, you can check out the references that I have shared below. ## References From eec314757646d1d523807dd3295571596bf6efb9 Mon Sep 17 00:00:00 2001 From: Engincan VESKE <43685404+EngincanV@users.noreply.github.com> Date: Sun, 29 Oct 2023 16:08:49 +0300 Subject: [PATCH 4/5] Update built-in-metrics.png --- .../built-in-metrics.png | Bin 12637 -> 24702 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/built-in-metrics.png b/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/built-in-metrics.png index e36b37c395598bc5f0382f5e6b6928e50c895108..7cf3a1896db5acc2d1b22564f8c46c4e234f8923 100644 GIT binary patch literal 24702 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%0AX;?P$C9_6uWtq(EjIjM2l6`MB0?%65|bu^3MHcP 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 EAFaZujQ{`u literal 12637 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 t{QB!y0QargkD~$?|Jm^Y#LfqJ1voMAYALV# Date: Tue, 31 Oct 2023 12:05:37 +0300 Subject: [PATCH 5/5] Update POST.md --- .../POST.md | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md b/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md index 07df71527d7..9142a36be99 100644 --- a/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md +++ b/docs/en/Community-Articles/2023-10-30-NET-8-ASP-NET-Core-Metrics/POST.md @@ -1,6 +1,6 @@ # .NET 8 - ASP.NET Core Metrics -In this article, I'll show you new built-in metrics of .NET 8, which are basically numerical measurements reported over time in your application and can be used to monitor the health of your application and generate reports according to those numerical values. We will see what the metrics are, why to use them, and how to use them in detail. So, let's dive in. +In this article, I'll show you the new built-in metrics of .NET 8, which are basically numerical measurements reported over time in your application and can be used to monitor the health of your application and generate reports according to those numerical values. We will see what the metrics are, why to use them, and how to use them in detail. So, let's dive in. ## What are Metrics? @@ -35,7 +35,7 @@ dotnet new web -o MetricsDemo cd MetricsDemo ``` -After that open the application in your favorite IDE and add the following service registration code to your application: +After that, open the application in your favorite IDE and add the following service registration code to your application: ```csharp var builder = WebApplication.CreateBuilder(args); @@ -56,11 +56,11 @@ builder.Services.AddOpenTelemetry() }); ``` -Here, we have done the following things: +Here, we have done the following steps: * The `AddOpenTelemetry` method registers the required **OpenTelemetry** services into the DI container. -* `WithMetrics` method, we add pre-built metrics to the `OpenTelemetryBuilder` in the `AddMeter` method (_Microsoft.AspNetCore.Hosting_ and _Microsoft.AspNetCore.Server.Kestrel_ are pre-built metrics provided by ASP.NET Core). -* Also, we have used the `AddView` method to customize the output of the metrics by the SDK. Also, it can be used to customize which [Instruments](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#instrument) are to be processed or ignored. +* In the `WithMetrics` method, we add pre-built metrics to the `OpenTelemetryBuilder` in the `AddMeter` method (_Microsoft.AspNetCore.Hosting_ and _Microsoft.AspNetCore.Server.Kestrel_ are pre-built metrics provided by ASP.NET Core). +* We have also used the `AddView` method to customize the output of the metrics by the SDK. It can also be used to customize which [Instruments](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#instrument) are to be processed or ignored. After making the related configurations, let's add the middleware below and view the metrics: @@ -75,7 +75,7 @@ app.MapGet("/", () => }); ``` -* `MapPrometheusScrapingEndpoint`: Adds OpenTelemetry Prometheus scraping endpoint middleware to the pipeline and then we can see the all metrics by navigating to the **/metrics** endpoints (optional): +* `MapPrometheusScrapingEndpoint`: Adds the OpenTelemetry Prometheus scraping endpoint middleware to the pipeline and then we can see the all metrics by navigating to the **/metrics** endpoints (optional): ![](metrics-endpoint.png) @@ -93,7 +93,7 @@ After the tool is installed, you can run the application and by running the `dot dotnet-counters monitor -n MetricsDemo --counters Microsoft.AspNetCore.Hosting ``` -When you run the command, it will print a message like in the one below and will wait for an initial request to your application: +When you run the command, it will print a message like the one below and will wait for an initial request to your application: ```txt Press p to pause, r to resume, q to quit. @@ -112,9 +112,9 @@ dotnet-counters monitor -n MetricsDemo --counters Microsoft.AspNetCore.Server.Ke ## Creating Custom Metrics in ASP.NET Core Applications -So far, we have seen what metrics are, which built-in metrics are provided by ASP.NET Core and use the built-in metrics and run the `dotnet-counters` global tool to view these metrics. At this point, let's see how we can create custom metrics and view them via the `dotnet-counters` tool. +So far, we have seen what metrics are, which built-in metrics are provided by ASP.NET Core, the use of the built-in metrics and running the `dotnet-counters` global tool to view these metrics. At this point, let's see how we can create custom metrics and view them via the `dotnet-counters` tool. -`IMeterFactory` is the recommended service to create *Meter* instances. ASP.NET Core registers `IMeterFactory` in dependency injection (DI) by default. The meter factory integrates metrics with DI, making isolating and collecting metrics easy. +`IMeterFactory` is the recommended service to create *Meter* instances. ASP.NET Core registers the `IMeterFactory` in dependency injection (DI) by default. The meter factory integrates metrics with DI, making isolating and collecting metrics easy. Assume that, we want to create a metric that holds the sold products in our application. For that purpose, as a first step, we can create a metric class as follows: @@ -140,7 +140,7 @@ public class ProductMetrics } ``` -In this class, we are creating a counter and defining metrics that we want to collect and view. `MetricsDemo.ProductStore` is the **counter name** and `metricsdemo.productstore.sold_products_count` is the **metric**, in our example. We need to register this class with a `Singleton` lifetime because we don't want to reset the counter and want to keep it during the application runtime. +In this class, we are creating a counter and defining metrics that we want to collect and view. `MetricsDemo.ProductStore` is the **counter name** and `metricsdemo.productstore.sold_products_count` is the **metric**. In our example, we need to register this class with a `Singleton` lifetime because we don't want to reset the counter and want to keep it during the application runtime. > The [System.Diagnostics.Metrics.Meter](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.metrics.meter) type is the entry point for a library to create a named group of instruments. Instruments record the numeric measurements that are needed to calculate metrics. Here we used [CreateCounter](https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.metrics.meter.createcounter) to create a Counter instrument named _metricsdemo.productstore.sold_products_count_. @@ -150,7 +150,7 @@ So, register the type with the DI container in the `Program.cs` file (or you can builder.Services.AddSingleton(); ``` -Then, we can inject this class and increase sold product count whenever it's needed. Since we have registered it in DI, we can use it in minimal APIs like in the following example: +Then, we can inject this class and increase the sold product count whenever it's needed. Since we have registered it in DI, we can use it in minimal APIs as in the following example: ```csharp app.MapPost("/complete-sale", ([FromBody] ProductSoldModel model, ProductMetrics metrics) => @@ -161,7 +161,7 @@ app.MapPost("/complete-sale", ([FromBody] ProductSoldModel model, ProductMetrics }); ``` -Whenever a request is made to this endpoint the metric that we defined (_metricsdemo.productstore.sold_products_count_) will be increased and we can see this metric via the `dotnet-counters` global tool. You can run the following command to see the metrics: +Whenever a request is made to this endpoint the metric that we've defined (_metricsdemo.productstore.sold_products_count_) will be increased and we can see this metric via the `dotnet-counters` global tool. You can run the following command to see the metrics: ```bash dotnet-counters monitor -n MetricsDemo --counters MetricsDemo.ProductStore @@ -187,10 +187,10 @@ Also, you can check [this video](https://www.youtube.com/watch?v=A2pKhNQoQUU) if ## Conclusion -In this article, I showed you the new built-in metrics of .NET8, describe what metrics are, which pre-built metrics are provided by ASP.NET Core, how to use & view these pre-built metrics and finally, I have shown you how to create custom metrics and view them in a dashboard. If you want to learn more about the **Metrics System of .NET**, you can check out the references that I have shared below. +In this article, I've shown you the new built-in metrics of .NET8, described what metrics are, which pre-built metrics are provided by ASP.NET Core, how to use & view these pre-built metrics and finally, I have shown you how to create custom metrics and view them in a dashboard. If you want to learn more about the **Metrics System of .NET**, you can check out the references that I have shared below. ## References * https://learn.microsoft.com/en-us/aspnet/core/log-mon/metrics/metrics?view=aspnetcore-8.0 * https://devblogs.microsoft.com/dotnet/announcing-dotnet-8-preview-5/ -* https://www.youtube.com/watch?v=A2pKhNQoQUU \ No newline at end of file +* https://www.youtube.com/watch?v=A2pKhNQoQUU