من اخیراً سه رویکرد OpenTelemetry را در JVM مقایسه کردم: Java Agent v1، v2 و Micrometer. من از کاتلین و کوروتین ها بدون فکر زیاد استفاده کردم. من بازخورد جالبی در مورد استفاده دریافت کردم @WithSpan
با کوروتین ها:
در واقع، @WithSpan
حاشیه نویسی از مدتی قبل به طور بی عیب و نقص در ارتباط با کوروتین ها کار می کند. با این حال، من را وادار کرد که در مورد عملکرد زیربنایی OpenTelemetry فکر کنم. در اینجا یافته های من است.
را @WithSpan
پردازشگر حاشیه نویسی
@WithSpan
یک حاشیه نویسی ساده است برای هر گونه استفاده، نیاز به یک پردازشگر حاشیه نویسی دارد. اگر در مورد پردازنده های حاشیه نویسی به تجدید نظر نیاز دارید، لطفاً این پست نه چندان جدید اما همچنان مرتبط را بررسی کنید.
جستجوی سریع در مخزن OpenTelemetry نشان می دهد که پردازنده درگیر است WithSpanInstrumentation
.
در اینجا خلاصه ای از کلاس های درگیر آمده است:
WithSpanInstrumentation
قسمت پردازش حاشیه نویسی را انجام می دهد. به آن تفویض می کند WithSpanSingleton
. به نوبه خود، دومی پل تماس ها را به Instrumenter
کلاس Instrumenter
شامل هسته ایجاد دهانه ها و تعامل با کلکتور OpenTelemetry است.
Instrumenter
و Context
را
Instrumenter
کل منطق جمعآوری تلهمتری، از جمعآوری دادهها، شروع و پایان دامنهها، تا ثبت مقادیر با استفاده از ابزارهای متریک را در بر میگیرد.یک
Instrumenter
نامیده می شود…