Agent monitoring and privacy
Data privacy and security
DBtune only retrieves performance metrics from the database and does not access or transmit any sensitive data.
What DBtune does NOT collect
The DBtune agent is designed with privacy as a core principle. It never accesses or transmits:
- Database contents - No table data, row contents, or stored values
- Metadata - No table names, column names, or schema information
- Query parameters - No user input or query parameter values
- Credentials - No passwords, API keys, or authentication tokens
- Personal data - No user information or identifiable data
What DBtune collects
The agent collects only the metrics necessary for performance optimization:
- Performance metrics - Query runtime, throughput, cache hit ratios
- System metrics - CPU utilization, memory usage, I/O statistics
- Database statistics - Connection counts, wait events, vacuum activity
- Configuration parameters - Current database configuration settings
- Hardware information - CPU count, memory size, disk type, instance type
All collected data consists of numeric metrics and system statistics. Query text collection is optional and controlled by the DBT_POSTGRESQL_INCLUDE_QUERIES
environment variable.
Detailed metrics collected
The DBtune agent collects system and database metrics at regular intervals to optimize your database configuration.
System monitoring (posted every 5 seconds)
Below is the data DBtune collects and sends to the DBtune server every 5 seconds:
Collected data
Category | Subcategory |
---|---|
CPU stats | cpu_util |
Memory stats | free |
slab | |
used | |
total | |
active | |
cached | |
shared | |
buffers | |
percent | |
inactive | |
available | |
IO stats | busy_time |
read_time | |
read_bytes | |
read_count | |
write_time | |
write_bytes | |
write_count | |
read_merged_count | |
write_merged_count | |
DB Stats | Throughput |
Query runtime |
System information (posted every minute)
In less frequent intervals DBtune fetches the following data to understand the specifications of the system:
Collected data
Category | Subcategory |
---|---|
Hardware | Number of CPUs |
Total memory | |
Available memory | |
Cloud provider | |
Instance type | |
Disk type | |
Software | Database version |
Operating system type | |
Maximum connections | |
Database size |
Platform specific monitoring
Different hosting platforms provide metrics through different APIs and monitoring systems. Check your database-specific documentation for details:
- Self-hosted PostgreSQL - Collects detailed system metrics directly from the host
- AWS RDS/Aurora - Uses CloudWatch and Performance Insights APIs
- Google Cloud SQL - Uses GCP Monitoring API
- Aiven - Uses the metric API from Aiven (30-second resolution)
Collection frequency
- Standard interval: Metrics are collected every 5 seconds for most platforms
- Aiven: Metrics are collected every 30 seconds (due to API limitations)
- System information: Hardware and configuration details are collected every minute
Data transmission
All data is transmitted securely to the DBtune server using encrypted HTTPS connections. The agent authenticates using your API key, which should be kept secure and rotated regularly.
Additional information
For a complete list of all metrics collected, including technical details about specific system tables and statistics views, visit the DBtune collected metrics public documentation.
For information about how specific tuning targets are computed, see our tuning targets page.
Compliance and trust
- Open source agent - The agent code is publicly available at github.com/dbtuneai/dbtune-agent
- Transparent collection - You can audit exactly what data is collected by reviewing the source code
- Network isolation - The agent runs within your network and only transmits metrics to the DBtune server
- Production safety - The agent includes guardrails to prevent unsafe configurations (e.g., memory usage thresholds)