This prompt is for a principal engineer, staff architect, or platform SRE who needs to review the observability design across a distributed microservice architecture before a major release, migration, or incident postmortem. The job-to-be-done is not to generate a greenfield design from scratch, but to audit an existing or proposed architecture for systemic blind spots: trace context propagation breaks, inconsistent log correlation, metric naming collisions, and health check gaps that would prevent an on-call engineer from debugging a cross-service failure. Use this prompt when you have a concrete architecture description—a set of service interaction diagrams, a list of services with their telemetry configurations, or a design document—and you need a structured pattern review that flags risks before they become production incidents.
Prompt
Microservices Observability Pattern Review Prompt

When to Use This Prompt
Define the job, the ideal user, and the constraints for a microservices observability pattern review.
The prompt requires specific input context to be effective. You must provide a description of the service topology, the current or planned observability stack (e.g., OpenTelemetry, Datadog, custom agents), and the known pain points or constraints (e.g., budget limits on log volume, legacy services that cannot be modified). Without this context, the model will produce generic advice that is not actionable. The prompt is designed to produce a review document with categorized findings, severity ratings, and concrete remediation suggestions. It is not a replacement for a full observability audit by a human expert, but it accelerates the initial review and ensures that common failure modes—such as missing trace context in async message queues or inconsistent histogram bucket boundaries—are systematically checked.
Do not use this prompt when you lack a specific architecture to review, when you are looking for a vendor comparison, or when you need a real-time monitoring dashboard configuration. This prompt is for design-time review, not runtime debugging. It is also not suitable for monolithic applications with no service boundaries, as the pattern language assumes distributed system interactions. For high-risk regulated environments (e.g., healthcare data in logs, financial transaction tracing), the output must be treated as an advisory draft that requires human security and compliance review before any remediation is implemented. The prompt includes eval checks that test whether the review output would enable an on-call engineer to trace a request across all services and identify the root cause of a latency spike within a defined time window.
Use Case Fit
Where this prompt works, where it fails, and what you must provide before running it.
Good Fit: Pre-Implementation Design Review
Use when: You have a draft observability architecture or are planning a microservice migration and need a structured review of trace context propagation, log correlation, health check consistency, and metric naming standards before code is written. Guardrail: The prompt works best with concrete design documents, not vague intentions. Provide a written architecture brief or diagram description as input.
Bad Fit: Live Incident Debugging
Avoid when: You are in an active incident and need to diagnose a production outage. This prompt is for design review, not runtime diagnosis. Guardrail: Use an incident-specific runbook prompt or an observability gap analysis prompt instead. This prompt lacks the real-time telemetry access required for debugging.
Required Input: Architecture Artifacts
Risk: Running the prompt without service topology, communication protocols, or existing telemetry configurations produces generic advice that misses system-specific failure modes. Guardrail: Provide a service map, inter-service communication patterns, and current observability stack details. The prompt's eval checks depend on concrete context to validate trace completeness and correlation gaps.
Operational Risk: False Confidence in Completeness
Risk: The prompt may produce a review that appears comprehensive but misses blind spots unique to your runtime environment, such as async messaging gaps or batch processing observability. Guardrail: Treat the output as a design review checklist, not a guarantee. Always validate findings against a chaos engineering observability validation run or a production trace sample before signing off.
Operational Risk: Standardization Without Context
Risk: The prompt may recommend metric naming standards or health check patterns that conflict with existing organizational conventions or legacy system constraints. Guardrail: Provide your organization's existing naming conventions, SLO definitions, and health check contracts as constraints in the prompt. Review all standardization recommendations against your operational playbooks before adoption.
Bad Fit: Single-Service Observability Tuning
Avoid when: You only need to tune alerts, dashboards, or logging for a single service without cross-service dependencies. This prompt is designed for multi-service pattern review. Guardrail: Use a focused SLI selection prompt, dashboard design rubric, or alert threshold tuning prompt for single-service work. Running this prompt on a monolith or single service produces unnecessary complexity.
Copy-Ready Prompt Template
A reusable prompt for reviewing observability patterns across a microservice architecture, with placeholders for architecture documents, standards, and risk tolerance.
The following prompt template is designed to be copied directly into your AI harness. It expects a description of your microservice architecture, your organization's observability standards, and the specific risk areas you want reviewed. All placeholders are enclosed in square brackets and must be replaced with concrete values before execution. The prompt instructs the model to produce a structured pattern review covering trace context propagation, log correlation, health check consistency, and metric naming standards.
codeYou are an observability architect reviewing a microservice architecture for observability pattern compliance. Your review must be grounded in the provided architecture description and organizational standards. Do not invent services, protocols, or standards that are not present in the input. ## INPUT ### Architecture Description [ARCHITECTURE_DESCRIPTION] ### Observability Standards [OBSERVABILITY_STANDARDS] ### Risk Areas to Prioritize [RISK_AREAS] ### Known Constraints [CONSTRAINTS] ## OUTPUT SCHEMA Return a valid JSON object with the following structure: { "review_id": "string", "findings": [ { "id": "string", "category": "TRACE_PROPAGATION | LOG_CORRELATION | HEALTH_CHECK | METRIC_NAMING | ALERTING | DASHBOARD", "severity": "CRITICAL | HIGH | MEDIUM | LOW", "service_or_boundary": "string", "finding": "string", "standard_reference": "string or null", "recommendation": "string", "distributed_debugging_impact": "string" } ], "cross_cutting_concerns": [ { "concern": "string", "affected_services": ["string"], "recommendation": "string" } ], "compliance_summary": { "trace_propagation_score": "PASS | PARTIAL | FAIL", "log_correlation_score": "PASS | PARTIAL | FAIL", "health_check_score": "PASS | PARTIAL | FAIL", "metric_naming_score": "PASS | PARTIAL | FAIL" }, "distributed_debugging_capability": "FULLY_TRACEABLE | PARTIALLY_TRACEABLE | NOT_TRACEABLE", "critical_gaps": ["string"] } ## CONSTRAINTS - Only report findings that are supported by the provided architecture description. - If a standard is not provided for a category, note it as a gap rather than inventing one. - For each finding, explain the impact on distributed debugging capability. - Do not recommend specific vendor products unless the standards document explicitly names them. - If the architecture description is insufficient to evaluate a category, mark that category as "INSUFFICIENT_DATA" in the compliance summary.
To adapt this template, replace each placeholder with concrete content. The [ARCHITECTURE_DESCRIPTION] should include service names, communication protocols, and infrastructure details. The [OBSERVABILITY_STANDARDS] should reference your organization's specific conventions for header propagation, log formats, metric naming, and health check contracts. If you lack formal standards, replace this with a description of current practices and known pain points. The [RISK_AREAS] field focuses the review on the areas that matter most to your team, such as cross-service debugging latency or alert fatigue. The [CONSTRAINTS] field captures deployment limitations like air-gapped environments or legacy services that cannot be modified. After generating the output, validate the JSON structure before passing it to downstream systems. For high-risk production environments, route findings marked CRITICAL to a human architect for review before accepting the recommendations.
Prompt Variables
Each variable must be populated before the prompt is assembled. Validate inputs at the application layer before injection to prevent prompt drift and ensure reliable pattern review output.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[SERVICE_NAME] | Identifies the specific microservice under review | payment-gateway | Non-empty string; must match a known service in the service registry or architecture diagram |
[SERVICE_DESCRIPTION] | Provides the service's responsibility, upstream/downstream dependencies, and runtime context | Handles payment authorization, capture, and refund. Depends on fraud-detection and ledger services. Written in Go, deployed on Kubernetes. | Minimum 50 characters; must mention at least one upstream or downstream dependency |
[OBSERVABILITY_STACK] | Specifies the tools and standards in use for traces, metrics, and logs | OpenTelemetry SDK v1.28, Jaeger for traces, Prometheus for metrics, Loki for logs | Must include at least one tool per pillar (traces, metrics, logs); null allowed only if the review is for a greenfield design |
[CURRENT_CONFIG_SNIPPET] | Contains the relevant observability configuration code or YAML for review | otel-config.yaml: sampling rate 0.1, propagation: w3c-tracecontext, baggage | Non-empty string; must be valid YAML or JSON if configuration is provided; null allowed for design-only reviews |
[KNOWN_INCIDENTS] | Lists past production incidents related to observability gaps in this service | INC-482: Missing trace context caused orphaned spans during payment timeout; INC-591: Debug logs saturated disk during peak traffic | Array of incident IDs or descriptions; null allowed if no prior incidents exist |
[REVIEW_SCOPE] | Defines the boundaries of the review: specific pillars, cross-cutting concerns, or full-stack | Full-stack review with emphasis on trace context propagation and log correlation across async message boundaries | Must be one of: full-stack, traces-only, metrics-only, logs-only, trace-log-correlation, alerting-design; default to full-stack if not specified |
[CONSTRAINTS] | Lists any regulatory, performance, or organizational constraints that limit observability choices | GDPR: no PII in log bodies; budget: max 10 GB/day telemetry egress; latency: trace sampling must not add >2ms overhead | Non-empty string; must include at least one constraint category (regulatory, cost, latency, organizational policy) |
Implementation Harness Notes
How to wire the Microservices Observability Pattern Review Prompt into an application or workflow.
This prompt is designed to be integrated into a pre-commit or pull-request review pipeline for architecture decision records (ADRs) or design documents. The primary integration point is a CI/CD check that triggers when a new observability design document is proposed. The application layer should fetch the document content, inject it into the [DESIGN_DOC] placeholder, and send the fully assembled prompt to a capable reasoning model. Because the output is a structured review, the application must parse the model's response and present findings in a review comment or a dedicated dashboard, not just dump raw text into a thread.
For a robust implementation, wrap the model call in a retry loop with a JSON schema validator. The expected output is a JSON object with keys like trace_propagation_assessment, log_correlation_gaps, health_check_issues, and metric_naming_standardization. If the model returns malformed JSON or misses a required key, the harness should retry up to two times with a repair prompt that includes the validation error. Log every attempt, including the raw prompt, the model's response, and the validation result, to an observability platform. This audit trail is critical for debugging prompt drift or model behavior changes over time. For high-risk production systems, add a human approval gate: if the review flags a critical severity finding, the pipeline should block the merge and require an architect to acknowledge the finding before proceeding.
Model choice matters here. Use a model with strong reasoning capabilities and a large context window, as design documents can be lengthy. Avoid lightweight or speed-optimized models that may miss subtle cross-service interaction flaws. Do not use this prompt as a real-time runtime check; it is a design-time review tool. The next step after implementation is to build a regression test suite using golden design documents with known flaws to ensure the prompt continues to catch the right issues after any prompt or model updates.
Expected Output Contract
Fields, format, and validation rules for the microservices observability pattern review output. Use this contract to parse, validate, and store the model response before downstream consumption.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
review_id | string (UUID v4) | Must parse as valid UUID v4. Reject on format mismatch. | |
service_name | string | Must match pattern ^[a-z][a-z0-9-]{2,63}$ (RFC 1123 subdomain). Reject if empty or non-matching. | |
review_timestamp | string (ISO 8601 UTC) | Must parse as valid ISO 8601 datetime with Z suffix. Reject on parse failure or non-UTC offset. | |
trace_context_propagation | object | Must contain 'standard' (enum: W3C, B3, custom, none) and 'injection_points' (array of strings). Reject if 'standard' is missing or 'injection_points' is empty when standard is not 'none'. | |
log_correlation | object | Must contain 'trace_id_field' (string), 'span_id_field' (string), and 'service_name_field' (string). All three fields required. Reject if any field is empty string. | |
health_check_consistency | object | Must contain 'liveness_path' (string starting with /), 'readiness_path' (string starting with /), and 'dependency_checks' (array of strings). Reject if paths are identical or dependency_checks is empty. | |
metric_naming_standard | object | Must contain 'convention' (enum: OpenMetrics, StatsD, custom) and 'namespace_prefix' (string). Reject if 'convention' is 'custom' and 'namespace_prefix' is empty. | |
findings | array of objects | Each object must have 'severity' (enum: critical, high, medium, low, info), 'category' (string), 'description' (string), and 'recommendation' (string). Reject if array is empty or any required field is missing or empty string. |
Common Failure Modes
When reviewing observability patterns across microservices, these failures surface most often. Each card pairs a specific risk with a concrete guardrail you can implement before the review reaches production.
Trace Context Propagation Gaps
What to watch: The prompt assumes complete trace context propagation and misses services that drop or mutate trace headers. This produces fragmented traces that look complete but hide missing spans. Guardrail: Require the prompt to explicitly list every service boundary and ask for confirmation of context propagation at each hop. Include a checklist item for header forwarding verification.
Metric Naming Collision and Drift
What to watch: The prompt accepts metric names without checking for collisions, inconsistent units, or label cardinality explosions across teams. This leads to unqueriable metrics and broken dashboards. Guardrail: Add a schema validation step that checks metric names against a central registry or naming convention document. Ask the prompt to flag any metric that doesn't conform to the namespace_subsystem_unit pattern.
Health Check Inconsistency Across Services
What to watch: The prompt treats health checks as uniform and misses differences in readiness vs. liveness semantics, dependency checks, or timeout configurations. This causes cascading failures when orchestrators make wrong decisions. Guardrail: Include a structured output field for each service's health check contract (path, status codes, dependency list, timeout). Validate that readiness probes don't depend on external services that could cause restart storms.
Log Correlation Without Structured Payloads
What to watch: The prompt assumes log correlation works because trace IDs are present, but ignores unstructured message fields, missing timestamps, or inconsistent log levels. This makes distributed debugging impossible despite "having" correlation. Guardrail: Require the prompt to verify that every service emits a structured log schema with at minimum timestamp, level, trace_id, span_id, and message. Flag services that log only unstructured strings.
Sampling Strategy Blind Spots
What to watch: The prompt ignores sampling configuration differences across services, leading to traces where some spans are sampled and others are dropped. This creates misleading error analysis and hides rare failure paths. Guardrail: Ask the prompt to produce a sampling consistency matrix across all services. Require explicit justification for any service using a different sampling rate, especially for error and latency-critical paths.
Alerting Rule Duplication and Conflict
What to watch: The prompt generates alert recommendations without checking for existing alert rules, leading to duplicate alerts, conflicting thresholds, or alert storms from overlapping conditions. Guardrail: Include a pre-review step that inventories existing alert rules. Ask the prompt to flag any new rule that overlaps with an existing rule by more than 80% in scope or condition, and require a deduplication decision before output.
Evaluation Rubric
Criteria for testing the quality of a microservices observability pattern review output before integrating it into an architecture decision process.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Trace Context Propagation Coverage | Review identifies all inter-service communication paths and evaluates trace context propagation for each | Review omits asynchronous paths, message queues, or internal proxies | Parse output for a list of communication paths; cross-reference with a known service map from [ARCHITECTURE_DOC] |
Log Correlation Strategy Completeness | Review specifies a correlation ID strategy that links logs across at least 3 service boundaries | Review suggests only a single service's log format or omits correlation ID injection points | Schema check: output must contain a 'log_correlation' field with 'injection_points' array of length >= 3 |
Health Check Consistency Assessment | Review evaluates health check endpoints against a consistent pattern (liveness, readiness, startup) and flags deviations | Review accepts all health checks as adequate without comparing implementations | Assert that output contains a 'health_check_analysis' section with a 'deviations' list; fail if empty when [SERVICE_LIST] length > 1 |
Metric Naming Standard Violation Detection | Review identifies metric names that violate [NAMING_STANDARD] (e.g., missing units, inconsistent separators) | Review finds zero issues in a test case seeded with 3 known naming violations | Inject a test [ARCHITECTURE_DOC] with known bad metric names; assert 'metric_naming_violations' count >= 3 |
Distributed Debugging Capability Score | Review assigns a debugging capability score with evidence for each service, and the average score is >= 3/5 | Review provides unscored or unsubstantiated claims about debuggability | Extract numeric scores from 'debugging_capability' array; calculate mean; assert mean >= 3.0 |
Actionable Recommendation Specificity | Each recommendation includes a specific component, a concrete change, and a rationale tied to an observability failure mode | Recommendations are vague (e.g., 'improve monitoring') or lack a rationale | LLM-as-judge check: for each item in 'recommendations', assert presence of 'component', 'change', and 'rationale' fields with non-empty strings |
Blind Spot Identification | Review explicitly lists at least one observability blind spot per service (e.g., missing internal state metrics, black-box dependencies) | Review claims full observability or lists only surface-level gaps | Count items in 'blind_spots' array; assert count >= number of services in [SERVICE_LIST] |
Schema Adherence | Output is valid JSON matching the [OUTPUT_SCHEMA] with all required fields present and correctly typed | Output is malformed JSON, missing required fields, or contains fields with incorrect types | Automated schema validation against [OUTPUT_SCHEMA] using a JSON Schema validator; retry prompt once on failure |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Use the base prompt with a single service as [SERVICE_CONTEXT]. Drop the [OUTPUT_SCHEMA] requirement and ask for a plain-text pattern review. Replace structured eval criteria with a simple checklist: trace propagation, log correlation, health check consistency, metric naming.
Watch for
- The model may skip services not explicitly listed
- Without schema enforcement, findings may lack consistent structure
- Health check analysis may be superficial without probe definitions

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us