در این مطلب، به بررسی مولدهای کد منبع Microsoft.Extensions.Telemetry.Abstractions برای System.Diagnostics.Metrics میپردازیم و نحوه تغییر کد مورد نیاز برای استفاده از این مولدها را بررسی میکنیم. همچنین، به بررسی کدهای تولید شده توسط این مولدها خواهیم پرداخت.
این مطلب، قسمت دوم از سری مقالات System.Diagnostics.Metrics APIs است. در قسمت اول، به معرفی این APIها پرداختیم و در این قسمت، نحوه استفاده از مولدهای کد منبع را بررسی میکنیم. هدف اصلی، درک چگونگی تغییر کد و بررسی کدهای تولید شده توسط مولدها است.
APIهای System.Diagnostics.Metrics در .NET 6 معرفی شدند، اما میتوان از آنها در نسخههای قدیمیتر (از جمله .NET Framework) با استفاده از NuGet package System.Diagnostics.DiagnosticSource استفاده کرد. این APIها دو مفهوم اصلی را ارائه میدهند: Instrument و Meter. Instrument برای ثبت مقادیر یک متریک خاص استفاده میشود، در حالی که Meter یک گروه منطقی از چندین Instrument است.
در این مطلب، از کد نمونهای که در قسمت قبل ایجاد کردیم، شروع میکنیم و آن را بهروزرسانی میکنیم تا از مولد کد منبع استفاده کند. همچنین، تعریفهای متریک را بهروزرسانی میکنیم تا از اشیاء برچسب (tag object) با نوعبندی قوی برای افزایش ایمنی نوع استفاده کنیم. در هر دو مورد، کد نمونه را بهروزرسانی کرده و کدهای تولید شده را بررسی خواهیم کرد.
این مولدها میتوانند به سادهسازی کد و افزایش خوانایی آن کمک کنند، اما ممکن است در برخی موارد، عملکرد آنها به اندازه کافی چشمگیر نباشد. با این حال، استفاده از آنها میتواند یک رویکرد مفید برای توسعهدهندگان .NET باشد که به دنبال بهبود قابلیت مشاهده (observability) برنامههای خود هستند.
مشاهده مطلب اصلی