protected readonly storageUri: URL
protected readonly logPrefix: string
protected dbName!: string
+ private static readonly performanceStatistics = new Map<string, Statistics>()
constructor (storageUri: string, logPrefix: string) {
this.storageUri = new URL(storageUri)
this.logPrefix = logPrefix
}
- protected handleDBError (
+ protected handleDBStorageError (
type: StorageType,
error: Error,
table?: string,
- params: HandleErrorParams<EmptyObject> = { throwError: false, consoleOut: false }
+ params: HandleErrorParams<EmptyObject> = {
+ throwError: false,
+ consoleOut: false
+ }
): void {
- setDefaultErrorParams(params, { throwError: false, consoleOut: false })
+ params = setDefaultErrorParams(params, { throwError: false, consoleOut: false })
const inTableOrCollectionStr = table != null && ` in table or collection '${table}'`
logger.error(
`${this.logPrefix} ${this.getDBNameFromStorageType(type)} error '${
}
}
+ public getPerformanceStatistics (): IterableIterator<Statistics> {
+ return Storage.performanceStatistics.values()
+ }
+
+ protected setPerformanceStatistics (performanceStatistics: Statistics): void {
+ Storage.performanceStatistics.set(performanceStatistics.id, performanceStatistics)
+ }
+
+ protected clearPerformanceStatistics (): void {
+ Storage.performanceStatistics.clear()
+ }
+
public abstract open (): void | Promise<void>
public abstract close (): void | Promise<void>
public abstract storePerformanceStatistics (