کلادفلر تریس محلی Workers رو خودکار کرد
خلاصهٔ کاملتر
کلادفلر اعلام کرده از امروز wrangler dev و vite dev برای هر اجرای محلی یه Worker، تریسهای OpenTelemetry رو خودکار ضبط میکنن. لازم نیست SDK نصب کنی، تریسینگ رو روشن کنی یا حتی تو پرامپتت به observability اشاره کنی. به گفتهٔ نویسندهها این ادامهٔ همون مسیریه که با Miniflare شروع شد و با پیشفرضشدن حالت محلی تو Wrangler 3 جا افتاد.
چیزی که این خبر رو مهم میکنه، ایجنتهای کدنویسن. وقتی سرور توسعه تشخیص بده تو یه سشن ایجنت اجرا شده، خودش آدرس Local Explorer API رو چاپ میکنه؛ یه API محلی که ریشهاش اسکیمای OpenAPI سرو میکنه، پس ایجنت بدون دستورالعمل هاردکدشده میفهمه چه اندپوینتهایی در دسترسه. میشه از یه اندپوینت فقطخواندنیِ مشاهدهپذیری، تریسها رو همراه لاگهای متناظرشون کوئری گرفت.
مثالی که مقاله میزنه یه اندپوینت POST /api/orders ـه که سبد خرید رو از KV میخونه، جزئیات چکاوت رو تو D1 ذخیره میکنه و یه پیام به Queue میفرسته، و بعد از یه تغییر اسکیما شروع میکنه به برگردوندن ۵۰۰. بدون تریس، ایجنت باید دور هر سهتا لاگ بذاره و درخواست رو بارها تکرار کنه. با تریس، یهبار خطا رو بازتولید میکنه و میبینه خوندن KV موفق بوده، درج D1 با no such column: delivery_window شکست خورده و Queue اصلاً صدا زده نشده.
زیرساختش تازه نیست: ابزار دقیق مستقیم تو workerd، رانتایم متنباز Workers، تعبیه شده و بدون تغییر کد برای فراخوانیهای fetch، تعامل با بایندینگهایی مثل KV و R2 و D1 و Durable Objects، و کل چرخهٔ عمر هر هندلر اسپن میسازه. Miniflare این رویدادها رو با خروجی کنسول جمع میکنه و میریزه تو یه Durable Object مبتنی بر SQLite که همون انبار محلی تریسه.
آدمها هم میتونن همین داده رو تو Local Explorer ببینن؛ یه رابط مرورگری که روی همون origin لوکالهاست بالا میاد، نه تو داشبورد کلادفلر. با زدن کلید e تو Wrangler یا رفتن به مسیر /cdn-cgi/explorer بازش میکنی و اسپنها، زمانبندی و خطاها رو میبینی. برای فعالشدن همهٔ اینها فقط کافیه Wrangler یا پلاگین Vite رو به آخرین نسخه بهروز کنی.
نکات کلیدی:
- تریسهای OpenTelemetry تو wrangler dev و vite dev خودکار ضبط میشن، بدون SDK و بدون تنظیمات
- آدرس Local Explorer API خودکار به ایجنت کدنویس داده میشه و تریس و لاگ رو میشه ازش کوئری گرفت
- ابزار دقیق داخل رانتایم workerd نشسته و برای fetch، بایندینگها و هندلرها اسپن میسازه
- تلهمتری تو یه Durable Object مبتنی بر SQLite بهعنوان انبار محلی ذخیره میشه
- کاربر انسانی همون داده رو تو رابط مرورگری Local Explorer روی لوکالهاست میبینه




