-
Notifications
You must be signed in to change notification settings - Fork 31
App Inspector #539
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
App Inspector #539
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,98 @@ | ||
| --- | ||
| title: App Inspector | ||
| description: App Inspector is a LocalStack tool designed to enhance system observability by enabling users to view, collect, and inspect data exchanges, including event payloads and metadata, between AWS services. | ||
| template: doc | ||
| tags: ["Hobby"] | ||
| --- | ||
|
|
||
| ## Introduction | ||
|
|
||
| App Inspector allows users to view, collect, and inspect data exchanges, including payloads and metadata, between AWS services. | ||
| It enhances system observability by displaying the data exchanged at every stage, facilitating clear understanding of operation flows. | ||
| In addition, it serves as a single point of truth to understand potential errors, service configuration mismatches, and IAM permission issues. | ||
|
|
||
| With App Inspector, you can: | ||
|
|
||
| - Observe and understand the flow of operations through your system. | ||
| - Identify errors and obtain detailed information for corrections. | ||
| - Get immediate feedback on any misconfigurations in your services. | ||
| - Gain insights into IAM policies and detect missing permissions. | ||
|
|
||
| ## Requirements | ||
|
|
||
| App Inspector requires **LocalStack 2026.03.0** or later. | ||
|
|
||
| ## Use Cases | ||
|
|
||
| **Understanding service-to-service information flow** | ||
|
|
||
| When a service call doesn't reach its intended target, App Inspector shows exactly where it stopped and why — tracing the flow of information between services at every hop. You get a precise answer without deploying to AWS or adding instrumentation. | ||
|
|
||
| **Verifying service-to-service payloads** | ||
|
|
||
| Inspect the exact data passed between services at every hop of your workflow. For example, confirming that a Lambda is passing the right payload to SNS, or that an SQS message body matches what the downstream consumer expects — before it becomes a production issue. | ||
|
|
||
| **Catching IAM misconfigurations early** | ||
|
|
||
| App Inspector runs against the real LocalStack emulator, which enforces IAM policies. Missing or overly restrictive permissions show up immediately — in your local environment, where they're fast and cheap to fix, rather than at deployment time in the cloud. | ||
|
|
||
|
|
||
| ## LocalStack Toolkit for VS Code | ||
|
|
||
| App Inspector is built into the [LocalStack Toolkit for VS Code](/aws/tooling/vscode-extension), so you can trace operation flows and inspect payloads without leaving your editor. Once LocalStack is running, open the App Inspector panel directly in the LocalStack Toolkit extension to view operations and drill into service interactions. | ||
|
|
||
| If you haven't set up the toolkit yet, see [LocalStack Toolkit for VS Code](/aws/tooling/vscode-extension) to get started. | ||
|
|
||
|  | ||
|
|
||
|
|
||
| ## Web Application | ||
|
|
||
| You can access App Inspector directly in the [LocalStack Web Application](https://app.localstack.cloud/inst/default/appinspector/spans). Navigate to **App Inspector** in your browser to view operations captured from your running LocalStack instance, inspect payloads, and trace service connections. | ||
|
|
||
| :::note | ||
| Operations generated during resource creation will appear in App Inspector alongside your application operations. To keep your trace clean, click **Clear Operations** before sending requests so only the relevant activity is captured. | ||
| ::: | ||
|
|
||
| ### Features | ||
|
|
||
| ### List Operations | ||
|
|
||
| You can view a detailed list of operations in your application, including the **Producer** (the service that initiated the call), **Consumer** (the target service), **Action** (the specific API call made), and **Timestamp**. Operations that encountered errors are flagged inline, so you can identify failures at a glance. Click **View Graph** on any operation to switch to the graph view and see how services connect. | ||
|
|
||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I feel we need a lot more detail here. In particular:
|
||
| The interface enables you to trace the flow of operations, identify relationships between services, and analyze patterns for debugging or optimization. | ||
|
|
||
|  | ||
|
|
||
| ### Graph View and Operation Details | ||
|
|
||
| Click **View Graph** to visualize the relationships between AWS services in your application as an interactive graph. Each node represents a service, and each edge represents a call between them, making it easy to follow the path of a request across your architecture. | ||
|
|
||
| By clicking on an operation in the graph or list, you can drill down into the specifics of each interaction. App Inspector displays detailed payloads, metadata, and status for each operation, and highlights errors, warnings, and potential IAM permission issues, enabling precise debugging and troubleshooting. | ||
|
|
||
|  | ||
|
|
||
| ## Plans & Tiers | ||
|
|
||
| | Feature | Hobby | Base / Ultimate / Enterprise | | ||
| |---|---|---| | ||
| | Maximum operations stored | 10 | 1,000 | | ||
| | Error analysis | — | ✓ | | ||
| | Request payload | ✓ | ✓ | | ||
| | Response payload | — | ✓ | | ||
|
|
||
| ## Supported Services | ||
|
|
||
| All service operations appear in App Inspector. The following services have been optimized for improved visual layout in the graph view: | ||
|
|
||
| - [S3](/aws/services/s3) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. API Gateway V1 should be on this list. API Gateway V2 will be added, assuming we get it done in time. |
||
| - [SQS](/aws/services/sqs/) | ||
| - [SNS](/aws/services/sns/) | ||
| - [DynamoDB](/aws/services/dynamodb/) | ||
| - [Lambda](/aws/services/lambda/) | ||
| - [EventBridge](/aws/services/events/) | ||
| - [Step Functions](/aws/services/stepfunctions) | ||
| - [EventBridge Pipes](/aws/services/pipes/) | ||
| - [Kinesis Data Streams](/aws/services/kinesis/) | ||
| - [API Gateway V1](/aws/services/apigateway/) | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we be calling this "LocalStack Console"? I'm not sure how consistently that term is used in the docs.