Problem
The SDK has no observability surface area. On the delivery side, memory and gateway resources require manual CloudWatch vended log delivery setup — customers must call PutDeliverySource, PutDeliveryDestination, and CreateDelivery with the correct naming conventions, ARN formats, and source types. On the query side, the SDK's CloudWatchSpanHelper is internal to the evaluation module and not exposed as public API — customers who programmatically query traces for debugging, monitoring, or custom dashboards have no SDK path. The starter toolkit provides both: an ObservabilityDeliveryManager for enabling/disabling logs and traces per resource, and an ObservabilityClient with a full query→parse→analyze pipeline for spans and traces.
Acceptance Criteria
Relevant Links
Problem
The SDK has no observability surface area. On the delivery side, memory and gateway resources require manual CloudWatch vended log delivery setup — customers must call
PutDeliverySource,PutDeliveryDestination, andCreateDeliverywith the correct naming conventions, ARN formats, and source types. On the query side, the SDK'sCloudWatchSpanHelperis internal to the evaluation module and not exposed as public API — customers who programmatically query traces for debugging, monitoring, or custom dashboards have no SDK path. The starter toolkit provides both: anObservabilityDeliveryManagerfor enabling/disabling logs and traces per resource, and anObservabilityClientwith a full query→parse→analyze pipeline for spans and traces.Acceptance Criteria
SpanandRuntimeLogobjectsRelevant Links
ObservabilityDeliveryManagerenable_observability_for_resource()enable_for_memory()enable_for_gateway()enable_traces_for_runtime()disable_observability_for_resource()get_observability_status()ObservabilityClientquery_spans_by_session()query_spans_by_trace()query_runtime_logs_by_traces()TraceProcessorbuild_span_hierarchy()CloudWatchQueryBuilderCloudWatchResultBuilder