step2/src/loadgen/loadgen.py [27:80]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RequestsInstrumentor().instrument()


# Structured log configuration
def field_name_modifier(_, __, event_dict):
    """Replace log level field name 'level' with 'serverity' to meet
    Cloud Logging's data model.
    Make sure to call this processor after structlog.stdlib.add_log_level.
    https://cloud.google.com/logging/docs/reference/v2/rpc/google.logging.v2?hl=en#google.logging.v2.LogEntry
    """
    event_dict["severity"] = event_dict["level"]
    del event_dict["level"]
    return event_dict


def get_json_logger():
    structlog.configure(
        processors=[
            structlog.stdlib.add_log_level,
            field_name_modifier,
            structlog.processors.TimeStamper("iso"),
            structlog.processors.JSONRenderer(),
        ]
    )
    return structlog.get_logger()


logger = get_json_logger()


def check_client_connection(healthz_url):
    with requests.get(healthz_url) as resp:
        logger.info(f"/_healthz response: {resp.text}")
        if str(resp.text) == "ok":
            logger.info("confirmed connection ot clientservice")
            return True
    return False


def call_client(url):
    logger.info("call_client start")
    try:
        with requests.get(url) as resp:
            logger.info(f"count: {resp.text}")
        logger.info("call_client end")
    except requests.HTTPError as e:
        logger.warn(f"HTTP request error: {e}")


def main():
    target = os.environ.get("CLIENT_ADDR", "0.0.0.0:8080")

    exporter = CloudTraceSpanExporter()
    trace.get_tracer_provider().add_span_processor(
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



step3/src/loadgen/loadgen.py [26:79]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RequestsInstrumentor().instrument()


# Structured log configuration
def field_name_modifier(_, __, event_dict):
    """Replace log level field name 'level' with 'serverity' to meet
    Cloud Logging's data model.
    Make sure to call this processor after structlog.stdlib.add_log_level.
    https://cloud.google.com/logging/docs/reference/v2/rpc/google.logging.v2?hl=en#google.logging.v2.LogEntry
    """
    event_dict["severity"] = event_dict["level"]
    del event_dict["level"]
    return event_dict


def get_json_logger():
    structlog.configure(
        processors=[
            structlog.stdlib.add_log_level,
            field_name_modifier,
            structlog.processors.TimeStamper("iso"),
            structlog.processors.JSONRenderer(),
        ]
    )
    return structlog.get_logger()


logger = get_json_logger()


def check_client_connection(healthz_url):
    with requests.get(healthz_url) as resp:
        logger.info(f"/_healthz response: {resp.text}")
        if str(resp.text) == "ok":
            logger.info("confirmed connection ot clientservice")
            return True
    return False


def call_client(url):
    logger.info("call_client start")
    try:
        with requests.get(url) as resp:
            logger.info(f"count: {resp.text}")
        logger.info("call_client end")
    except requests.HTTPError as e:
        logger.warn(f"HTTP request error: {e}")


def main():
    target = os.environ.get("CLIENT_ADDR", "0.0.0.0:8080")

    exporter = CloudTraceSpanExporter()
    trace.get_tracer_provider().add_span_processor(
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



