> ## Documentation Index
> Fetch the complete documentation index at: https://wundergraphinc-sam-cosmo-415-studio-playground-and-schema-v.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Playground++

> Enhanced GraphiQL with Advanced Request Tracing to test and optimize your queries

<Frame caption="Enhanced GraphiQL Playground">
  <img src="https://mintcdn.com/wundergraphinc-sam-cosmo-415-studio-playground-and-schema-v/gGrTHtUznQglX21p/images/studio/employee-query-in-graphiql-playground.png?fit=max&auto=format&n=gGrTHtUznQglX21p&q=85&s=9ef82737e2777d8fae5154aa70d692f2" alt="GraphiQL playground employee query with data visualization in WunderGraph" title="Employee query in GraphiQL playground" width="2304" height="1406" data-path="images/studio/employee-query-in-graphiql-playground.png" />
</Frame>

The playground is enhanced with visual representations of the query execution plan along with details like timings, inputs, and outputs for each subgraph and much more. The `X-WG-TRACE` header must be included to enable the visualization. It is available in 2 modes tree view and waterfall view.

<Info>
  For more information about Advanced Request Tracing (ART) click [here](/router/advanced-request-tracing-art)
</Info>

## Choosing what to query

The dropdown in the playground toolbar selects what the editor validates against and where requests are sent:

* **Graph** sends requests to the router and uses the federated client schema.
* **Feature flags** send requests to the router with the `X-Feature-Flag` header set to that flag, and use the flag's composed client schema. Only flags in the graph's latest valid composition are listed.
* **Subgraphs** send requests to the subgraph's own routing URL, bypassing the router, and use the schema that subgraph contributed to the latest composition.
* **Feature subgraphs** are listed under the feature flag they belong to. They send requests to the feature subgraph's own routing URL, bypassing the router, and use the schema version that flag's composition pinned. No `X-Feature-Flag` header is sent, since the router is not in the request path.

<Note>
  A feature subgraph appears under a feature flag rather than in the Subgraphs group because feature flags compose independently, so the same feature subgraph can be pinned at a different schema version by each flag that contains it. See [Feature Flags](/concepts/feature-flags).
</Note>

<Frame caption="Waterfall View">
  <img src="https://mintcdn.com/wundergraphinc-sam-cosmo-415-studio-playground-and-schema-v/eOQmF6J_Soeg7TAE/images/studio/parallel-queries-for-employees-and-products.png?fit=max&auto=format&n=eOQmF6J_Soeg7TAE&q=85&s=69928e01e9025b977b2a8d81876e088c" alt="GraphiQL playground parallel queries for employees and products with timing visualization" title="Parallel queries for employees and products" width="2304" height="1406" data-path="images/studio/parallel-queries-for-employees-and-products.png" />
</Frame>
