APIهای System.Diagnostics.Metrics در .NET 6 به عنوان یک ویژگی داخلی معرفی شدند، اما از نسخههای قبلی .NET Core و .NET Framework نیز با استفاده از بستهی NuGet System.Diagnostics.DiagnosticSource پشتیبانی میشوند. این APIها راهی برای ایجاد و گزارشگیری از معیارهای تولید شده توسط یک برنامه، مانند شمارندهها، گیجها و هیستوگرامهای مقادیر فراهم میکنند. هدف اصلی این APIها، تسهیل همکاری با OpenTelemetry و ابزارهای .NET SDK مانند dotnet-counters است.
این APIها دو مفهوم اصلی را ارائه میدهند: Instrument و Meter. Instrument مقادیر یک معیار خاص را ثبت میکند، در حالی که Meter یک گروه منطقی از چندین Instrument است. به عنوان مثال، Meter System.Runtime شامل Instrumentهایی در مورد عملکرد زمان اجرا و Meter Microsoft.AspNetCore.Hosting شامل Instrumentهایی در مورد درخواستهای HTTP دریافتی توسط ASP.NET Core است.
انواع مختلفی از Instrumentها وجود دارد، از جمله Counter، UpDownCounter، Gauge و Histogram. Counterها برای شمارش تعداد رخدادها استفاده میشوند، UpDownCounterها میتوانند مقادیر مثبت و منفی را ثبت کنند، Gaugeها مقدار فعلی را نشان میدهند و Histogramها مقادیر دلخواه را گزارش میدهند. نسخههای Observable از Counter، UpDownCounter و Gauge نیز وجود دارند که فقط در صورت درخواست صریح، مقادیر را بازیابی میکنند.
انتخاب بین Observable و غیر Observable Instrumentها تا حدودی به ملاحظات عملکردی و تا حدودی به نحوه به دست آوردن مقدار بستگی دارد. استفاده از این APIها به توسعهدهندگان .NET امکان میدهد تا به طور موثرتری عملکرد برنامههای خود را نظارت و تجزیه و تحلیل کنند و درک بهتری از رفتار برنامه در طول زمان داشته باشند.
این APIها به توسعهدهندگان کمک میکنند تا معیارهای مختلفی مانند تعداد درخواستهای دریافتی، اندازه هیپ GC، میزان حافظه استفاده شده و مدت زمان هر درخواست را اندازهگیری و گزارش کنند. با استفاده از این اطلاعات، توسعهدهندگان میتوانند مشکلات عملکرد را شناسایی و رفع کنند و به طور کلی کیفیت و پایداری برنامههای .NET خود را بهبود بخشند.
مشاهده مطلب اصلی