|
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