OpenTelemetry مجموعهای از API، SDK و ابزارهای استاندارد برای تولید و انتقال Telemetry است. دادهها عمدتاً شامل Trace، Metric و Log هستند و به بکاندی برای ذخیره و تحلیل ارسال میشوند.
| نوع سیگنال | پرسش عملی |
|---|---|
| Trace | چرا درخواست ثبت سفارش بین پنج سرویس کند شد؟ |
| Metric | نرخ خطای پرداخت در ده دقیقه چقدر بوده؟ |
| Log | در لحظه شکست تراکنش چه رویدادی ثبت شده؟ |
from opentelemetry import trace
tracer = trace.get_tracer("shop.checkout")
with tracer.start_as_current_span("reserve_inventory"):
# reserve_inventory(order_id)
pass
کد نمونه
این کد ساخت Span را نشان میدهد. برای ارسال واقعی داده باید SDK، Provider و Exporter متناسب نصب و پیکربندی شوند.
اصطلاحات مرتبط: ردیابی توزیعشده، قابلیت مشاهدهپذیری، پرومتئوس، متریک.
جریان معمول داده تلهمتری
Application SDK -> OpenTelemetry Collector -> Trace backend
-> Metrics backend
اوپنتلمتری استاندارد و ابزار جمعآوری سیگنالهاست. Collector برای پردازش و ارسال داده استفاده میشود و به خودی خود Backend ذخیرهسازی نهایی محسوب نمیشود.