diff options
author | Florian Dold <florian@dold.me> | 2024-04-23 03:12:56 +0200 |
---|---|---|
committer | Florian Dold <florian@dold.me> | 2024-04-23 03:12:56 +0200 |
commit | 0308290a128d29792225d7b2f4d2e22cb5d42f72 (patch) | |
tree | 74ef805f445d61d905e169d56f11b57d03ef8000 | |
parent | 1edc144b3595ae1ab6b8af7a43d26b811b2c2623 (diff) | |
download | wallet-core-0308290a128d29792225d7b2f4d2e22cb5d42f72.tar.gz wallet-core-0308290a128d29792225d7b2f4d2e22cb5d42f72.tar.bz2 wallet-core-0308290a128d29792225d7b2f4d2e22cb5d42f72.zip |
wallet-core: allow labeling transactions
-rw-r--r-- | packages/taler-wallet-core/src/observable-wrappers.ts | 20 | ||||
-rw-r--r-- | packages/taler-wallet-core/src/query.ts | 2 |
2 files changed, 13 insertions, 9 deletions
diff --git a/packages/taler-wallet-core/src/observable-wrappers.ts b/packages/taler-wallet-core/src/observable-wrappers.ts index 626899d9e..f09498d95 100644 --- a/packages/taler-wallet-core/src/observable-wrappers.ts +++ b/packages/taler-wallet-core/src/observable-wrappers.ts @@ -173,21 +173,21 @@ export class ObservableDbAccess<StoreMap> implements DbAccess<StoreMap> { const location = getCallerInfo(); this.oc.observe({ type: ObservabilityEventType.DbQueryStart, - name: "<unknown>", + name: options.label ?? "<unknown>", location, }); try { const ret = await this.impl.runAllStoresReadOnlyTx(options, txf); this.oc.observe({ type: ObservabilityEventType.DbQueryFinishSuccess, - name: "<unknown>", + name: options.label ?? "<unknown>", location, }); return ret; } catch (e) { this.oc.observe({ type: ObservabilityEventType.DbQueryFinishError, - name: "<unknown>", + name: options.label ?? "<unknown>", location, }); throw e; @@ -197,27 +197,28 @@ export class ObservableDbAccess<StoreMap> implements DbAccess<StoreMap> { async runReadWriteTx<T, StoreNameArray extends StoreNames<StoreMap>[]>( opts: { storeNames: StoreNameArray; + label?: string; }, txf: (tx: DbReadWriteTransaction<StoreMap, StoreNameArray>) => Promise<T>, ): Promise<T> { const location = getCallerInfo(); this.oc.observe({ type: ObservabilityEventType.DbQueryStart, - name: "<unknown>", + name: opts.label ?? "<unknown>", location, }); try { const ret = await this.impl.runReadWriteTx(opts, txf); this.oc.observe({ type: ObservabilityEventType.DbQueryFinishSuccess, - name: "<unknown>", + name: opts.label ?? "<unknown>", location, }); return ret; } catch (e) { this.oc.observe({ type: ObservabilityEventType.DbQueryFinishError, - name: "<unknown>", + name: opts.label ?? "<unknown>", location, }); throw e; @@ -227,6 +228,7 @@ export class ObservableDbAccess<StoreMap> implements DbAccess<StoreMap> { async runReadOnlyTx<T, StoreNameArray extends StoreNames<StoreMap>[]>( opts: { storeNames: StoreNameArray; + label?: string; }, txf: (tx: DbReadOnlyTransaction<StoreMap, StoreNameArray>) => Promise<T>, ): Promise<T> { @@ -234,20 +236,20 @@ export class ObservableDbAccess<StoreMap> implements DbAccess<StoreMap> { try { this.oc.observe({ type: ObservabilityEventType.DbQueryStart, - name: "<unknown>", + name: opts.label ?? "<unknown>", location, }); const ret = await this.impl.runReadOnlyTx(opts, txf); this.oc.observe({ type: ObservabilityEventType.DbQueryFinishSuccess, - name: "<unknown>", + name: opts.label ?? "<unknown>", location, }); return ret; } catch (e) { this.oc.observe({ type: ObservabilityEventType.DbQueryFinishError, - name: "<unknown>", + name: opts.label ?? "<unknown>", location, }); throw e; diff --git a/packages/taler-wallet-core/src/query.ts b/packages/taler-wallet-core/src/query.ts index eb5752fbe..dc15bbdd1 100644 --- a/packages/taler-wallet-core/src/query.ts +++ b/packages/taler-wallet-core/src/query.ts @@ -821,6 +821,7 @@ export interface DbAccess<StoreMap> { runReadWriteTx<T, StoreNameArray extends Array<StoreNames<StoreMap>>>( opts: { storeNames: StoreNameArray; + label?: string; }, txf: (tx: DbReadWriteTransaction<StoreMap, StoreNameArray>) => Promise<T>, ): Promise<T>; @@ -828,6 +829,7 @@ export interface DbAccess<StoreMap> { runReadOnlyTx<T, StoreNameArray extends Array<StoreNames<StoreMap>>>( opts: { storeNames: StoreNameArray; + label?: string; }, txf: (tx: DbReadOnlyTransaction<StoreMap, StoreNameArray>) => Promise<T>, ): Promise<T>; |