Skip to content

Add memory consumption telemetry logs#169

Open
arpita-1111 wants to merge 1 commit into
Memact:mainfrom
arpita-1111:feat/memory-consumption-telemetry
Open

Add memory consumption telemetry logs#169
arpita-1111 wants to merge 1 commit into
Memact:mainfrom
arpita-1111:feat/memory-consumption-telemetry

Conversation

@arpita-1111

Copy link
Copy Markdown
Contributor

Closes #54

What this PR does

Adds instrumentation logging database size and query metrics, so
resource usage can be monitored over time.

Changes

  • Added src/telemetry.mjs:
    • computeDatabaseSizeBytes(memoryStore) — measures store size in bytes
    • logDatabaseSize(memoryStore, logger) — logs size + memory count as
      structured JSON ({ event: "database_size", bytes, memoryCount, timestamp })
    • instrumentQuery(queryFn, logger) — wraps any query function (e.g.
      retrieveMemories) to log duration and result count without changing
      its return value ({ event: "query_metrics", durationMs, resultCount, timestamp })
  • Wired logDatabaseSize into createStatsServer, so database size is
    logged on every stats request. The logger is injectable (defaults to
    console.log) for testability.

Tests

Added test/telemetry.test.mjs covering size computation, size logging,
empty stores, and query instrumentation (including zero-result queries).
Added a new test in test/memory-stats.test.mjs confirming createStatsServer
logs database size on each real HTTP request.

- Add src/telemetry.mjs:
  - computeDatabaseSizeBytes() to measure store size in bytes
  - logDatabaseSize() to log size + memory count as structured JSON
  - instrumentQuery() to wrap any query function with duration/result-count logging
- Wire logDatabaseSize into createStatsServer so database size is logged
  on every stats request, with an injectable logger for testability
- Add tests for telemetry.mjs and a new createStatsServer logging test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[SSoC26] [Easy] Memory Consumption Telemetry Logs

1 participant