Skip to content

[FOUNDATION] SQLite Integration for Memory Monitor Tooling (Incremental) #13

@triadflow

Description

@triadflow

Feature Request

Feature Category

  • New monitoring capability
  • Tool improvement
  • Documentation enhancement
  • Theoretical analysis extension
  • Other (please specify):

Problem Statement

What performance monitoring need or gap does this address?

The Copilot Performance Toolkit's memory monitor lacks persistent run tracking, preventing trend analysis, reproducibility, and auditability. To enable foundational data analytics and future advanced capabilities, SQLite-based run/session storage is required.

Proposed Solution

Describe your proposed feature or improvement:

Implement foundation-phase SQLite integration for the memory monitor tooling (test.py). This PR will:

  • Add persistent run/measurement storage (monitoring_runs, memory_measurements tables, etc.).
  • Introduce a CLI flag (e.g., --db-track) to enable/disable database tracking (off by default).
  • Use a default SQLite file path (e.g., performance.db) with CLI option for override.
  • Provide CLI utilities for querying, exporting (JSON), backup, and cleanup of database.
  • Cover basic unit/integration tests.
  • Update documentation with usage/configuration examples.

Use Case

How would this feature be used?

  • Developers/analysts can enable database-backed run tracking for memory monitor sessions.
  • Query and export historical results for trend analysis or sharing.
  • Maintain current workflow unless database tracking is explicitly requested.

Implementation Considerations

Technical requirements or constraints:

  • Must not affect current default behavior (console output only).
  • All configuration via CLI (flag to enable, option for DB path).
  • Schema as defined in SQLITE_IMPLEMENTATION_ROADMAP.md and examples/database_integration_example.py.
  • Foundation phase only (no integration with other tools at this stage).
  • Utilities for query/export/backup/cleanup included.
  • Basic test coverage required.

Success Criteria

How would we know this feature is successful?

  • Database tracking is optional, off by default.
  • Data is correctly stored in SQLite when enabled.
  • Console output remains unaffected.
  • Utilities for querying/exporting/backup/cleanup function as described.
  • Tests cover primary database logic and integration.
  • Documentation covers usage and configuration.

Validation Approach

How could the effectiveness of this feature be measured or validated?

  • Run memory monitor both with and without the CLI flag, confirming data flows to DB only when enabled.
  • Query/export data successfully after runs.
  • Tests pass for new DB logic and integration.
  • User feedback confirms the feature is non-intrusive and useful.

Additional Context

Any examples, mockups, or references:

  • Implementation roadmap: SQLITE_IMPLEMENTATION_ROADMAP.md
  • Assessment: SQLITE_INTEGRATION_ASSESSMENT.md
  • Example code: examples/database_integration_example.py

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions