OpenTelemetry: باز کردن @WithSpan در Kotlin Coroutines و JVM

من اخیراً سه رویکرد OpenTelemetry را در JVM مقایسه کردم: Java Agent v1، v2 و Micrometer. من از کاتلین و کوروتین ها بدون فکر زیاد استفاده کردم. من بازخورد جالبی در مورد استفاده دریافت کردم @WithSpan با کوروتین ها:

در واقع، @WithSpan حاشیه نویسی از مدتی قبل به طور بی عیب و نقص در ارتباط با کوروتین ها کار می کند. با این حال، من را وادار کرد که در مورد عملکرد زیربنایی OpenTelemetry فکر کنم. در اینجا یافته های من است.

را @WithSpan پردازشگر حاشیه نویسی

@WithSpan یک حاشیه نویسی ساده است برای هر گونه استفاده، نیاز به یک پردازشگر حاشیه نویسی دارد. اگر در مورد پردازنده های حاشیه نویسی به تجدید نظر نیاز دارید، لطفاً این پست نه چندان جدید اما همچنان مرتبط را بررسی کنید.

جستجوی سریع در مخزن OpenTelemetry نشان می دهد که پردازنده درگیر است WithSpanInstrumentation.

در اینجا خلاصه ای از کلاس های درگیر آمده است:

نمودار کلاس هسته OpenTelemetryنمودار کلاس هسته OpenTelemetry

WithSpanInstrumentation قسمت پردازش حاشیه نویسی را انجام می دهد. به آن تفویض می کند WithSpanSingleton. به نوبه خود، دومی پل تماس ها را به Instrumenter کلاس Instrumenter شامل هسته ایجاد دهانه ها و تعامل با کلکتور OpenTelemetry است.

Instrumenter و Context

را Instrumenter کل منطق جمع‌آوری تله‌متری، از جمع‌آوری داده‌ها، شروع و پایان دامنه‌ها، تا ثبت مقادیر با استفاده از ابزارهای متریک را در بر می‌گیرد.

یک Instrumenter نامیده می شود…

Source link