Skip to main content

Dashboard

Dashboard Projects View

The dashboard shows all your active and inactive deployments, and provides a lens into what's going on inside each one. It's an essential part of understanding the activity and health of your deployments.

The landing page shows your deployments grouped by project. A project corresponds to a codebase that uses Convex, which contains a single deployment. You can deactivate the deployment here.

Click on a project and choose a deployment to see a dashboard of information specific to that deployment.

Functions view

Functions Dashboard View The default view for a deployment shows all currently deployed query and mutation functions. Every time you use npx convex push you'll see these functions update.

There are four basic charts for each function:

Invocations

This chart plots the number of times your function was called per minute. As your app's usage increases, you should see this chart trend upward as well.

Errors

A plot of any exceptions that occur while running your function. Want to know what's going wrong? Check out the logs tab, detailed below.

Cache Hit Rate

A percentage rate of how often this function is simply reusing a cached value vs. being rerun. Your application will run best and your response times will be fastest with high cache hit rates.

Note that mutation functions (functions which write to your Convex tables) will never be cached, so for mutations this chart will always be pinned at 0%.

Execution Time

How long, in milliseconds, this function is taking to run.

There are four individual lines plotted on this chart, p50, p90, p95, and p99. Each of these lines represents the response time for that percentile in the distribution of hits over time. So, only 1% of requests took longer to run than the time shown by the p99 line. Typically, keeping an eye on these tail latencies is a good way to make sure your application is getting data services quickly.

Consider the relationship of the execution time to the cache hit rate. As a rule, a cache hit takes well under 1 ms, so the higher your cache hit rate, the better your response times will be.

Clicking on any of the charts will give you a larger, detailed view where you can customize the time ranges you're inspecting.

Data view

Data Dashboard View

The data view provides insight into your current tables and the documents contained within each of those tables.

On the left side of the window is a list of your tables. Clicking on an individual table will drill down into a layout that allows you to peruse the documents within that table.

Generating a schema

At the bottom-left of the view is a "Generate Schema" button which you can click to have Convex generate a schema of all your documents within this table.

Generate Schema button

Indexes

The "Indexes" button at the top of the detail view will list all of the Indexes associated with the selected table. Indexes that have not completed backfilling will be accompanied by a loading spinner next to their name.

Indexes button

Clearing a table

This is a permanent action

Clearing table data is irreversible. The Convex dashboard will have you type in the name of the selected deployment and table before clearing a table.

The "Clear Table" button at the top of the detail view will delete all data from the table for the selected development. This action is equivalent to the TRUNCATE TABLE in a SQL database.

Logs view

Logs Dashboard View

The final dashboard view is a log of all activity that occurs within your deployment.

Logs include:

  • The time of function execution in the UTC timezone.
  • The outcome of the function execution (success or failure).
  • The name of the invoked function.
  • The output of the function, including any log lines logged by the function (ex console.log) and exceptions.

You can use controls on the left-hand side of this page to filter logs by text, function name, execution status, and log severity.

Text filter

Use the "Filter" text box on the top of the controls to filter by the name of the function or log text.

Log Status

The status of a log indicates whether the Convex function succeeded or failed. All failed executions will include a reason, which will usually be a JavaScript exception.

Log Levels

The log level filter will control which log lines are included in the log viewer. If a Convex function execution does not contain a log line matching the level filter, it will be omitted from the results. The "No log lines" filter controls whether executions with no console output are included in the results.