|
33 | 33 | from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler |
34 | 34 | from opentelemetry.sdk._logs.export import BatchLogRecordProcessor |
35 | 35 | from opentelemetry.sdk.resources import Resource |
| 36 | + |
| 37 | +from openfeature import api |
| 38 | +from openfeature.contrib.provider.flagd import FlagdProvider |
| 39 | +from openfeature.exception import OpenFeatureError |
| 40 | + |
36 | 41 | from playwright.async_api import Route, Request |
37 | 42 |
|
38 | 43 | logger_provider = LoggerProvider(resource=Resource.create( |
|
64 | 69 | URLLib3Instrumentor().instrument() |
65 | 70 | logging.info("Instrumentation complete") |
66 | 71 |
|
| 72 | +# Initialize Flagd provider |
| 73 | +api.set_provider(FlagdProvider(host=os.environ.get('FLAGD_HOST', 'flagd'), port=os.environ.get('FLAGD_PORT', 8013))) |
| 74 | + |
| 75 | +def get_flagd_value(FlagName): |
| 76 | + # Initialize OpenFeature |
| 77 | + client = api.get_client() |
| 78 | + return client.get_integer_value(FlagName, 0) |
| 79 | + |
67 | 80 | categories = [ |
68 | 81 | "binoculars", |
69 | 82 | "telescopes", |
@@ -153,6 +166,11 @@ def checkout_multi(self): |
153 | 166 | checkout_person["userId"] = user |
154 | 167 | self.client.post("/api/checkout", json=checkout_person) |
155 | 168 |
|
| 169 | + @task(5) |
| 170 | + def flood_home(self): |
| 171 | + for _ in range(0, get_flagd_value("loadgeneratorFloodHomepage")): |
| 172 | + self.client.get("/") |
| 173 | + |
156 | 174 | def on_start(self): |
157 | 175 | ctx = baggage.set_baggage("synthetic_request", "true") |
158 | 176 | context.attach(ctx) |
|
0 commit comments