import { MikroORM as MariaDbORM, type Options as MariaDbOptions } from '@mikro-orm/mariadb'
import { MikroORM as SqliteORM, type Options as SqliteOptions } from '@mikro-orm/sqlite'
-import { Storage } from './Storage.js'
import { type PerformanceRecord, type Statistics, StorageType } from '../../types/index.js'
import { Constants } from '../../utils/index.js'
+import { Storage } from './Storage.js'
export class MikroOrmStorage extends Storage {
private readonly storageType: StorageType
public async storePerformanceStatistics (performanceStatistics: Statistics): Promise<void> {
try {
+ this.setPerformanceStatistics(performanceStatistics)
await this.orm?.em.upsert({
...performanceStatistics,
statisticsData: Array.from(performanceStatistics.statisticsData, ([name, value]) => ({
}
public async close (): Promise<void> {
+ this.clearPerformanceStatistics()
try {
if (this.orm != null) {
await this.orm.close()