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.
The default view for a
deployment shows all currently deployed query and mutation functions. Every time
npx convex push you'll see these functions update.
There are four basic charts for each function:
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.
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%.
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.
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.
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.
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.
The final dashboard view is a log of all activity that occurs within your deployment.
- 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.
Use the "Filter" text box on the top of the controls to filter by the name of the function or log text.
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.