تاریخ انتشار: 3 آوریل 2025
هنگامی که زمان ارائه یک ویژگی جدید در کروم فرا می رسد، بررسی ها و تعادل های زیادی برای اطمینان از عملکرد، سازگار و قابل اعتماد وجود دارد. یکی از این توازنها، آزمایشهای فینچ است. اجازه ندهید قسمت "آزمایشی" نام آن شما را فریب دهد که فکر کنید ناامن است، کاملا برعکس است. عرضههای Finch به ما کمک میکنند تا ویژگیهایی را اضافه کنیم که به طور بالقوه میتوانند باعث مشکلات سازگاری شوند، زیرا به ما امکان میدهند در صورت مواجهه با مشکلات پیشبینی نشده، به سرعت یک ویژگی را غیرفعال کنیم. این مقاله توضیح می دهد که چگونه و چرا از Finch برای برخی از ویژگی های منتشر شده در Chrome استفاده می کنیم.
به طور کلی، فعال کردن یک ویژگی در کروم به سادگی به این معنی است که یک Boolean را از خاموش به روشن در داخل کروم تغییر دهید. هنگامی که یک ویژگی جدید "ارسال می شود"، به سادگی به این معنی است که این بولی حالت پیش فرض خود را برای همه کاربران به "روشن" تغییر داده است. چندین راه برای انجام آن وجود دارد:
- ویژگی "در کد" را فعال کنید : این بدان معناست که خود فایل اجرایی Chrome دارای تنظیماتی است که به طور پیش فرض فعال است.
- فعال کردن ویژگی "توسط آزمایشی مبدا" : سیستم آزمایشی مبدا راهی است برای یک سایت خاص برای انتخاب همه کاربران Chrome در یک آزمایش، که یک ویژگی خاص را فقط در آن سایت فعال می کند.
- فعال کردن ویژگی "استفاده از Finch" : Chrome به صورت دوره ای یک فایل پیکربندی را از سرور واکشی می کند و این فایل می تواند حاوی دستورالعمل هایی برای فعال یا غیرفعال کردن یک ویژگی باشد.
- یک "سوئیچ کشتن فینچ" : برعکس فعال کردن "استفاده از فینچ" است. در این مورد، این ویژگی "در کد" فعال می شود اما سپس با استفاده از سیستم فینچ غیرفعال می شود، معمولاً به دلیل مشکلاتی که پس از راه اندازی شناسایی می شوند.
موارد استفاده فنچ
موضوع این پست وبلاگ Finch است، بنابراین ما در مورد فعال کردن "در کد" یا "آزمایش اولیه" بیشتر بحث نمی کنیم. اما فینچ موارد استفاده جالب متعددی دارد.
تست روی گروه کوچکی از کاربران (تست A/B)
اغلب از فینچ برای انجام " تست A/B " یک ویژگی یا بهینه سازی استفاده می شود. در این حالت، یک ویژگی برای درصد کمی از کاربران فعال می شود، به طوری که می توان داده هایی را در مورد تفاوت عملکرد، رفتار یا استفاده در زمانی که ویژگی فعال و غیرفعال است، جمع آوری کرد.
نمونه ای از تست A/B زمانی است که رمزگشایی تصویر گمانه زنی را راه اندازی کردیم. این یک بهبود عملکرد است که نباید برای توسعه دهندگان یا کاربران قابل توجه باشد، به جز اینکه باعث می شود کروم صفحات را سریعتر بارگذاری کند. اما برای اینکه مطمئن شویم هیچ اتفاق غیرمنتظرهای رخ نداده و همچنین برای اینکه بتوانیم تأثیر عملکرد را به دقت اندازهگیری کنیم، از Finch برای تست A/B آن استفاده کردیم.
یک ویژگی مشکل ساز را غیرفعال کنید
برای ایمنی محصول و تجربه کاربر، Chrome میتواند از سیستم Finch برای غیرفعال کردن ویژگیهای مشکلساز از راه دور استفاده کند که «در کد» فعال شدهاند. به عنوان مثال، اگر یک ویژگی به طور پیشفرض فعال بود، اما مشکلات تنها پس از رسیدن کروم به وضعیت پایدار ظاهر شد، ما به راهی برای غیرفعال کردن سریع این ویژگی نیاز داریم تا کاربران و کسبوکارها را به حالت امن بازگردانیم. این ممکن است زمانی ضروری باشد که اشکالات کشف نشده در ویژگی وجود داشته باشد، یا زمانی که یک ویژگی به دلایل غیرقابل پیش بینی سایت های موجود را خراب می کند.
ویژگی های مخاطره آمیز را به روشی ایمن تر فعال کنید
برای اکثر ویژگیهایی که Chrome راهاندازی میکند، خطر کمی وجود دارد، زیرا میتوانیم آزمایش کنیم و تأیید کنیم که کد جدید در همه سایتها کار میکند.
با این حال، گاهی اوقات، به دلیل مشکلات ناشناخته سازگاری یا سایر فعل و انفعالات دشوار، راه اندازی ویژگی ها می تواند بسیار خطرناک باشد. در این مورد می توان از سیستم Finch برای فعال کردن این ویژگی استفاده کرد، نه صرفاً آن را در ذخیره به عنوان یک سوئیچ کشتن.
به عنوان مثال، «آرامش» تجزیهکننده HTML تغییری مربوط به ویژگی جدید قابل سفارشیسازی انتخاب بود که اجازه میداد محتوای بیشتری نسبت به قبل در داخل عنصر <select>
قرار گیرد. از آنجایی که ممکن است این تغییر بتواند سایتهای موجود را خراب کند، باید آن را با دقت منتشر کنیم.
فعال کردن ویژگی ها با استفاده از Finch می تواند ایمن تر از استفاده از Finch برای حذف آنها باشد، زیرا Finch به دلایل مختلف به 100٪ کاربران دسترسی ندارد. به عنوان مثال، برخی از کاربران سازمانی سیاستی دارند که پیکربندی Finch را به طور کامل ممنوع می کند. در صورتی که یک ویژگی در کد فعال شود، این کاربران در معرض خطر باقی میمانند و سپس با استفاده از Finch سوئیچ میشوند، زیرا این کاربران تنظیمات Finch را دریافت نمیکنند و همچنان این ویژگی را فعال میکنند. با فعال کردن این ویژگی با استفاده از Finch، میتوانیم قابلیت غیرفعال کردن آن را برای همه کاربران در مواقع اضطراری تضمین کنیم.
چگونه بررسی کنیم که آیا در آزمایش فینچ هستید؟
انجام مستقیم این کار برای کاربران دشوار است. راه پیشنهادی این است که با یک مهندس Chrome تماس بگیرید (معمولاً در زمینه یک باگ Chromium ) و "فهرست تغییرات" خود را برای آنها ارسال کنید. این لیستی از نسخه های کدگذاری شده ویژه تمام تنظیمات Finch برای یک مرورگر معین است. به راحتی قابل بازیابی است:
- به
chrome://version
بروید. - کل لیست متن (بله می تواند بسیار طولانی باشد) را که در کنار "تغییرهای فعال" فهرست شده است کپی کنید.
- آن متن را در یک فایل متنی (به عنوان مثال
variations.txt
) قرار دهید و آن را به یک باگ پیوست کنید.
با این لیست از تغییرات، مهندسان کروم میتوانند فهرست را رمزگشایی کنند و ببینند کدام ویژگیها در مرورگر شما فعال یا غیرفعال شدهاند.
چه اتفاقی میافتد وقتی آزمایش فینچ به 100% برسد و خوب انجام شود؟
هنگامی که خود را راحت کردیم که آزمایش ما "موفقیت آمیز" است، و ویژگی مورد نظر برای توسعه دهندگان یا کاربران خطراتی ایجاد نمی کند، همیشه ویژگی "در کد" را فعال می کنیم. در این مرحله، پایان دادن به پیکربندی Finch بی خطر است، به طوری که پس از نسخه ای که این ویژگی در کد فعال شده است، دیگر تأثیری بر مرورگرها ندارد.