Прапорці функцій

Демо надає кілька прапорців функцій, які ви можете використовувати для імітації різних сценаріїв. Ці прапорці керуються за допомогою flagd, простого сервісу прапорців функцій, який підтримує OpenFeature.

Значення прапорців можна змінювати через інтерфейс користувача, доступний за адресою http://localhost:8080/feature під час запуску демо. Зміни значень через цей інтерфейс будуть відображені в сервісі flagd.

Є два варіанти зміни прапорців функцій через інтерфейс користувача:

  • Основний вигляд: Зручний для користувача вигляд, у якому можна вибрати та зберегти стандартні варіанти (ті самі опції, які потрібно змінити при налаштуванні через сирий файл) для кожного функціонального прапорця. Наразі основний вигляд не підтримує фракційне таргетування.

  • Розширений вигляд: Вигляд, у якому завантажується сирий файл конфігурації JSON і може бути відредагований в оглядачі. Цей вигляд надає гнучкість, яка приходить з редагуванням сирого файлу JSON, але також забезпечує перевірку схеми, щоб гарантувати, що JSON є дійсним і що надані значення конфігурації є правильними.

Реалізовані прапорці функцій

Прапорець функціїСервіс(и)Опис
adFailureAdГенерувати помилку для GetAds 1/10 разів
adHighCpuAdВикликати високе навантаження на процесор у сервісі оголошень. Якщо ви хочете продемонструвати обмеження процесора, встановіть обмеження ресурсів процесора
adManualGcAdВикликати повне ручне збирання сміття в сервісі оголошень
aiRunawayAgentAgentПідштовхує агента продовжувати викликати інструменти замість завершення, імітуючи агента, що вийшов з-під контролю або зациклився
aiSlowResponseAgentЗатримує виклик моделі LLM агента, імітуючи деградацію затримки провайдера LLM
cartFailureCartНадсилати вибраний відсоток викликів EmptyCart до сховища кошика, що виходить з ладу
emailMemoryLeakEmailІмітувати витік памʼяті в сервісі email. Варіант визначає, наскільки розширюється тіло кожного листа з підтвердженням.
failedReadinessProbeCartПримусово змушує перевірку готовності завершитися з неналежним статусом, імітуючи стан “NotReady” для пода. Застосовується лише для розгортань у Kubernetes.
imageSlowLoadFrontendВикористовує виконання інʼєкцій помилок envoy, викликає затримку у завантаженні зображень товарів на фронтенді. Варіант визначає затримку.
intlShippingSlowdownShippingЗатримує запити на доставку за межами США на вибрану кількість секунд, імітуючи затримку міжнародної доставки. Адреси в США не зачіпаються.
kafkaConsumerDeadFraud DetectionСервіс fraud-detection залишає групу споживачів замовлень (скасовує підписку та припиняє опитування). Checkout продовжує створювати повідомлення, тому група споживачів спорожнюється, а відставання накопичується. Оборотно шляхом перемикання прапорця.
kafkaQueueProblemsCheckout, Fraud DetectionОбмежує пропускну здатність споживача fraud-detection, призупиняючи його на N мс на кожен запис. Споживач вичерпується повільніше, ніж записує виробник, через що відставання зростає. Налаштовуйте затримку на кожен запис наживо через прапорець.
loadGeneratorTrafficLoad GeneratorВмикає синтетичний трафік від генератора навантаження. Вимкніть його, щоб призупинити всі сценарії генератора навантаження.
loadGeneratorVUsLoad GeneratorКількість одночасних віртуальних користувачів, що приводять у дію HTTP-сценарій генератора навантаження. Зміна цього значення перезапускає k6 під час наступного опитування.
paymentFailurePaymentГенерувати помилку для вибраного відсотка викликів charge.
paymentUnreachableCheckoutВикористовувати неправильну адресу при виклику сервісу Payment, щоб зробити вигляд, що сервіс Payment недоступний.
productCatalogFailureProduct CatalogГенерувати помилку для запитів GetProduct з ідентифікатором товару: OLJCESPC7Z
productCatalogLockContentionProduct CatalogІмітує конкуренцію за блокування бази даних, утримуючи блокування ACCESS EXCLUSIVE на таблиці catalog.products, що блокує інші запити до каталогу товарів.
recommendationCacheFailureRecommendationСтворити витік памʼяті через кеш, що зростає експоненційно. Приблизно половина запитів викликають зростання.

Сценарій керованого налагодження

Сценарій recommendationCacheFailure має спеціальний посібник, щоб допомогти зрозуміти, як ви можете усунути витоки памʼяті за допомогою OpenTelemetry.

Архітектура прапорців функцій

Будь ласка, перегляньте документацію flagd для отримання додаткової інформації про те, як працює flagd, а також вебсайт OpenFeature для отримання додаткової інформації про те, як працює OpenFeature, разом з документацією для API OpenFeature.


Востаннє змінено July 12, 2026: [uk] Ukrainian documentation for OpenTelemetry (5aacbed2)