The dashboard shows all of your Convex projects, allowing you to view associated data and debug issues.
In Convex, your projects are organized by team. Teams are used to share access to your projects with other people. You may switch between teams or create a new team by clicking on the team switcher located on the top-left corner of the Convex dashboard.
You may change the name of a team or invite new members to a team by clicking on the Settings navigation button while on the dashboard landing page.
A project corresponds to a codebase that uses Convex, which contains a production deployment and one dev deployment for each team member.
Clicking on a project in the landing page will redirect you to project details.
You can access project-level settings by clicking on the Project Settings navigation tab located on the top of the page.
On this page, you'll find:
- A form to update your project's name and slug.
- Instructions to regain access to your project, should you lose track of your
- A button to permanently delete the project.
While on a project page, you may switch between your dev deployment and production by using the dropdown menu on the top-left of the page.
The default view for a deployment shows all currently deployed Convex functions.
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 page, 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.
You may create a table from the dashboard by clicking the "Create table" button and entering a new name for the table.
Convex does not currently support deleting tables (however, you can remove all documents from a table).
The dashboard currently supports editing all Convex types except Sets, Maps, and Bytes.
You may add individual documents to the table using the "Add document" button located in the data table's toolbar.
Once you click "Add document" a side panel will open prompting you to select a type and value for each existing field, and optionally add additional fields that do not already exist in the table.
Editing a cell
To edit a value, double-click on a cell in the data table.
You can change the value by editing inline, or click on the pencil icon to open an advanced editor, allowing you to change the data type.
Editing a document
To edit multiple values in a document at the same time, hover over the row and click the button that appears on the right hand side.
Adding references to other documents
To add an ID reference to your document, add a column with the "object" type and use the ID constructor syntax to reference an ID. If the ID is valid, hovering the ID will indicate which document is being referenced.
The syntax to reference an ID is:
new Id("TABLE_NAME", "ID_STRING")
To selectively delete documents from a table, hover over and click on the "_id" cell of a document row to select it. When at least one document is selected, the "Delete documents" button will be visible in the table toolbar.
Clicking "Delete documents" will open a prompt to confirm deletion.
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 deployment. This action is equivalent to the
TRUNCATE TABLE in a SQL database.
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.
The logs view is a realtime view of all activity that occurs within your deployment.
Function activity includes:
- The time of function execution.
- 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.
- The duration of function execution, in milliseconds (does not include network latency).
- The arguments originally passed to the function (viewable by hovering over the log line and clicking the "expand" icon that appears).
In addition to function activity, deployment events describing configuration changes will be present here.
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 logs page. 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.
This history view is an audit log of configuration-related events that have occurred in the selected deployment, such as function deployments, changes to indexes, and changes to environment variables.
Deployment Settings view
This settings page gives you access to information and configuration options related to a specific deployment (Production or your personal Development environments).
Here, you'll find:
- The URL this deployment is hosted at. Some Convex integrations may require the deployment URL for configuration.
- The deployment's deploy key, used to integrate with build tools such as Netlify and Vercel and syncing data with Airbyte.
- The deployment's data export snapshots.
- The deployment's environment variables.