A centralized place to manage DB-related issues
A Project is a centralized place to manage DB-related issues of a code repository. All the issues created with an API Key associated with the Project are shown under the project's details.
In other words, for every code repository, you’ll have a Project. For example, a monolith app with one DB should have one project. But 5 microservices, each with its own code repository, managed and QA independently should have 5 different projects.
- The Production and Staging databases
- Production Observability Reports
- Schema analysis
- Recent Pull Requests and commits. Each show
- The performance analysis
- The schema migration analysis
- The distributed traces which generated recently with the API Key of the project (Recent Activity).
- The SQL commands which sent by the CLI, using the project's API key.
A project is designed to show the DB-related information and analysis across the software lifecycle. Say you're a developer who's developing an app. Your app has a frontend and a backend connected to a PostgreSQL database.
At the top right corner, you can find the API Key of the project. The API Key is used to send data from the SDK, Metadata Collector and CLI to Metis.
Every distributed trace sent to Metis using the API Key is automatically redirected to the Staging environment.
While the Recent Activity is a long stream of traces, ordered by their insert data, you might want to see the insights related to a specific Pull Request grouped in one place. The UI can group the traces using a PR tag. To learn more on how to generate it, look at the tutorial below:
Every Pull Request can show insights related to performance problems or schema migration problems
A Pull Request - Performance Analysis
A Pull Request - Schema Migration Analysis
The current version supports only two environments: Production and Staging. Usually, the local dev environment is tiny and used mainly for development and unit testing, it doesn't bring any value for performance tests.
All the data sent by the Metis Metadata Collector is sent automatically to the Production environment. Future versions will let users control the destination environment. Any other data sent using the project's API Key is mapped to the Staging environment.
Monitoring the production database after deployment is essential to ensure that the application is running smoothly and delivering the expected performance. The database is a critical component of most applications, and any issues or errors can impact the entire system's functionality.
Metis built a Metadata Collector to monitor the production database, helping developers quickly identify and resolve performance issues, database connectivity problems, or errors related to database transactions. Additionally, monitoring can provide insights into the application's usage patterns, which can help optimize the database configuration for better performance and scalability.
The collected metadata is shown under the Observability Reports. here you can find the size (rows, KB) or the tables and indexes, indexes usage, query duration statistics, server configuration, etc.
An Observability Report - Query Statistics