summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-04-23 03:12:56 +0200
committerFlorian Dold <florian@dold.me>2024-04-23 03:12:56 +0200
commit0308290a128d29792225d7b2f4d2e22cb5d42f72 (patch)
tree74ef805f445d61d905e169d56f11b57d03ef8000
parent1edc144b3595ae1ab6b8af7a43d26b811b2c2623 (diff)
downloadwallet-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.ts20
-rw-r--r--packages/taler-wallet-core/src/query.ts2
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>;