---
title: \@qwik.dev/qwik/insights API Reference
---

# [API](/api) &rsaquo; @qwik.dev/qwik/insights

<h2 id="insights">Insights</h2>

> This API is provided as a beta preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

```typescript
Insights: import("@qwik.dev/core").Component<unknown>;
```

[Edit this section](https://github.com/QwikDev/qwik/tree/main/packages/qwik/src/insights/insights.ts)

<h2 id="insightserror">InsightsError</h2>

```typescript
export interface InsightsError
```

<table><thead><tr><th>

Property

</th><th>

Modifiers

</th><th>

Type

</th><th>

Description

</th></tr></thead>
<tbody><tr><td>

column

</td><td>

</td><td>

number

</td><td>

</td></tr>
<tr><td>

error

</td><td>

</td><td>

string

</td><td>

</td></tr>
<tr><td>

line

</td><td>

</td><td>

number

</td><td>

</td></tr>
<tr><td>

manifestHash

</td><td>

</td><td>

string

</td><td>

Manifest Hash of the container.

</td></tr>
<tr><td>

message

</td><td>

</td><td>

string

</td><td>

</td></tr>
<tr><td>

source

</td><td>

</td><td>

string

</td><td>

</td></tr>
<tr><td>

stack

</td><td>

</td><td>

string

</td><td>

</td></tr>
<tr><td>

timestamp

</td><td>

</td><td>

number

</td><td>

</td></tr>
<tr><td>

url

</td><td>

</td><td>

string

</td><td>

</td></tr>
</tbody></table>

[Edit this section](https://github.com/QwikDev/qwik/tree/main/packages/qwik/src/insights/insights.ts)

<h2 id="insightspayload">InsightsPayload</h2>

```typescript
export interface InsightsPayload
```

<table><thead><tr><th>

Property

</th><th>

Modifiers

</th><th>

Type

</th><th>

Description

</th></tr></thead>
<tbody><tr><td>

manifestHash

</td><td>

</td><td>

string

</td><td>

Manifest Hash of the container.

</td></tr>
<tr><td>

previousSymbol?

</td><td>

</td><td>

string \| null

</td><td>

_(Optional)_ Previous symbol received on the client.

Client periodically sends symbol log to the server. Being able to connect the order of symbols is useful for server clustering. Sending previous symbol name allows the server to stitch the symbol list together.

</td></tr>
<tr><td>

publicApiKey

</td><td>

</td><td>

string

</td><td>

API key of the application which we are trying to profile.

This key can be used for sharding the data.

</td></tr>
<tr><td>

qVersion

</td><td>

</td><td>

string

</td><td>

Qwik version

</td></tr>
<tr><td>

symbols

</td><td>

</td><td>

[InsightSymbol](#insightsymbol)[]

</td><td>

List of symbols which have been received since last update.

</td></tr>
</tbody></table>

[Edit this section](https://github.com/QwikDev/qwik/tree/main/packages/qwik/src/insights/insights.ts)

<h2 id="insightsymbol">InsightSymbol</h2>

```typescript
export interface InsightSymbol
```

<table><thead><tr><th>

Property

</th><th>

Modifiers

</th><th>

Type

</th><th>

Description

</th></tr></thead>
<tbody><tr><td>

delay

</td><td>

</td><td>

number

</td><td>

Time delta since last symbol. Can be used to stich symbol requests together

</td></tr>
<tr><td>

interaction

</td><td>

</td><td>

boolean

</td><td>

Was this symbol as a result of user interaction. User interactions represent roots for clouters.

</td></tr>
<tr><td>

latency

</td><td>

</td><td>

number

</td><td>

Number of ms between the time the symbol was requested and it was loaded.

</td></tr>
<tr><td>

route

</td><td>

</td><td>

string

</td><td>

Current route so we can have a better understanding of which symbols are needed for each route.

</td></tr>
<tr><td>

symbol

</td><td>

</td><td>

string

</td><td>

Symbol name

</td></tr>
<tr><td>

timeline

</td><td>

</td><td>

number

</td><td>

Number of ms between the q:route attribute change and the qsymbol event

</td></tr>
</tbody></table>

[Edit this section](https://github.com/QwikDev/qwik/tree/main/packages/qwik/src/insights/insights.ts)
