|  | # Inspect codelab | 
|  |  | 
|  | Contributors: cphoenix@, crjohns@, miguelfrde@ | 
|  |  | 
|  | In this codelab, Rust, Dart, and C++ programmers will learn to use the Inspect | 
|  | library to publish diagnostic information from their programs, and use Inspect | 
|  | information to debug their programs. | 
|  |  | 
|  | ## What is Inspect? | 
|  |  | 
|  | Inspect allows Fuchsia Components to expose structured, hierarchical | 
|  | information about their current state. | 
|  |  | 
|  | Learn more about Inspect in the [Fuchsia Component Inspection](/docs/development/diagnostics/inspect/README.md) | 
|  | documentation. | 
|  |  | 
|  | ### What benefits does Inspect provide? | 
|  |  | 
|  | Component Inspection supports many use cases, including: | 
|  |  | 
|  | * Debugging | 
|  |  | 
|  | View Inspect data from your running component to identify | 
|  | problems. For example, you can learn if your component is currently | 
|  | connected to a dependency. | 
|  |  | 
|  | * Monitoring system health | 
|  |  | 
|  | Inspect data provides insight into overall system state. For example, | 
|  | you can learn why your system is not connected to the internet. | 
|  |  | 
|  | * Gathering usage or performance statistics | 
|  |  | 
|  | You can read Inspect data from multiple components at the same time | 
|  | to understand system performance. For example, you can see the list | 
|  | of incoming connections to your component along with your component's | 
|  | memory usage. | 
|  |  | 
|  | ### What kind of information can I store in Inspect? | 
|  |  | 
|  | You determine the structure and content of the data you expose in | 
|  | Inspect. Some examples include: | 
|  |  | 
|  | * The number of open WiFi connections. | 
|  | * The number of requests that the program has served. | 
|  | * The number of errors that a parser has encountered. | 
|  | * The contents of a data structure. | 
|  |  | 
|  |  | 
|  | ## Codelab | 
|  |  | 
|  | In this codelab, you're going to modify programs to output Inspect data. | 
|  | You will learn: | 
|  |  | 
|  | * How to include the Inspect libraries. | 
|  |  | 
|  | * How to initialize Inspect in your components. | 
|  |  | 
|  | * How to solve real bugs by writing and reading Inspect data. | 
|  |  | 
|  | * How to read Inspect data to verify that your program is doing what you want. | 
|  |  | 
|  | ## What you’ll need | 
|  |  | 
|  | * Basic knowledge of Rust, Dart, or C++. | 
|  | * Access to a Fuchsia source tree you can execute build commands in. | 
|  |  | 
|  | ## Get Started | 
|  |  | 
|  | - [Inspect Codelab](codelab.md) |