10. Run Operational Smoke Checks
Operational smoke checks are lightweight setup checks, not a load test or service-level measurement. This cell sends three short requests, measures local elapsed time, summarizes success rate and token usage, and infers the region from the configured Bedrock base URL. Inspect latency, completion status, sample outputs, and token totals.
python
from __future__ import annotations
def infer_region_from_base_url(base_url: str) -> str | None:
host = normalize_base_url(base_url).replace("https://", "").split("/")[0]
for part in host.split("."):
if part.count("-") >= 2 and any(char.isdigit() for char in part):
return part
return None
def percentile(values: list[float], pct: float) -> float | None:
if not values:
return None
ordered = sorted(values)
index = min(len(ordered) - 1, max(0, round((pct / 100) * (len(ordered) - 1))))
return round(ordered[index], 3)
operations_features = ["Latency runtime example", "Throughput runtime example", "Reliability runtime example", "Region check"]
operations_payload = {"model": MODEL_ID, "input": "Reply with one short customer-support sentence.", "service_tier": "auto", "max_output_tokens": 1024, "store": False}
print_request_shape(operations_payload)
if not RUN_RESPONSIVENESS_CHECK:
record_check("Endpoint responsiveness", "skipped", "BEDROCK_RESPONSIVENESS_CHECK is disabled.")
print_labeled_text("Result", "Responsiveness check disabled.")
else:
prompts = [
"Reply in one short sentence: apologize for a delayed replacement order.",
"Reply with one metric name for support-assistant quality.",
"Reply in one short sentence: hand off a return exception to a supervisor.",
]
samples = []
for idx, prompt in enumerate(prompts):
started = time.perf_counter()
try:
response = create_response(model=MODEL_ID, input=prompt, service_tier="auto", max_output_tokens=1024, store=False)
elapsed = time.perf_counter() - started
summary = summarize_response(response)
text = output_text(response).strip()
samples.append({
"ok": bool(text),
"latency_seconds": round(elapsed, 3),
"output_tokens": summary.get("output_tokens") or 0,
"total_tokens": summary.get("total_tokens") or 0,
"status": summary.get("status"),
"sample_output": text[:140],
})
except Exception as exc:
elapsed = time.perf_counter() - started
samples.append({"ok": False, "latency_seconds": round(elapsed, 3), "error": describe_api_error(exc)})
successes = [sample for sample in samples if sample["ok"]]
completed = [sample for sample in successes if sample.get("status") in {None, "completed"}]
latencies = [sample["latency_seconds"] for sample in successes]
responsiveness_summary = {
"region_hint": infer_region_from_base_url(BASE_URL),
"base_url_host": normalize_base_url(BASE_URL).replace("https://", "").split("/")[0],
"sample_count": len(samples),
"success_rate": len(successes) / len(samples) if samples else 0,
"completed_rate": len(completed) / len(samples) if samples else 0,
"avg_latency_seconds": round(sum(latencies) / len(latencies), 3) if latencies else None,
"p50_latency_seconds": percentile(latencies, 50),
"p90_latency_seconds": percentile(latencies, 90),
"total_output_tokens": sum(sample.get("output_tokens", 0) for sample in samples),
"total_tokens": sum(sample.get("total_tokens", 0) for sample in samples),
}
status = "pass" if len(successes) == len(samples) and len(completed) == len(samples) else "warn"
for feature in operations_features:
record_check(feature, status, responsiveness_summary)
record_response("Endpoint responsiveness summary", "json", {**responsiveness_summary, "samples": samples})
print_labeled_json("Result", responsiveness_summary)
print_label("Response summary")
display_wrapped_table(pd.DataFrame(samples), max_col_width_px=360)
print_key_takeaway('Responsiveness samples are setup checks, not a load test or service-level measurement.')Request shape
| field | value |
|---|---|
| model | openai.gpt-5.4 |
| max_output_tokens | 1024 |
| store | False |
| service_tier | auto |
| input | Reply with one short customer-support sentence. |
Result
\{ "region_hint": "us-west-2", "base_url_host": "bedrock-mantle.us-west-2.api.aws", "sample_count": 3, "success_rate": 1.0, "completed_rate": 1.0, "avg_latency_seconds": 0.362, "p50_latency_seconds": 0.377, "p90_latency_seconds": 0.4, "total_output_tokens": 34, "total_tokens": 544 \}
Response summary
| ok | latency_seconds | output_tokens | total_tokens | status | sample_output |
|---|---|---|---|---|---|
| True | 0.400 | 14 | 184 | completed | We apologize for the delay with your replacement order. |
| True | 0.310 | 6 | 174 | completed | Resolution Rate |
| True | 0.377 | 14 | 186 | completed | I’m escalating the return exception to a supervisor. |
Key takeaway: Responsiveness samples are setup checks, not a load test or service-level measurement.