Skip to content

Commit 849228b

Browse files
committed
Added console default for tracing
1 parent 38349e5 commit 849228b

File tree

5 files changed

+50
-0
lines changed

5 files changed

+50
-0
lines changed

packages/sdk/src/appChain/AppChain.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import {
2424
NetworkStateTransportModule,
2525
DummyStateService,
2626
WorkerReadyModule,
27+
ConsoleLoggingFactory,
2728
} from "@proto-kit/sequencer";
2829
import {
2930
NetworkState,
@@ -314,6 +315,7 @@ export class AppChain<
314315

315316
this.useDependencyFactory(this.container.resolve(AreProofsEnabledFactory));
316317
this.useDependencyFactory(this.container.resolve(SharedDependencyFactory));
318+
this.useDependencyFactory(this.container.resolve(ConsoleLoggingFactory));
317319

318320
this.container
319321
.resolve<AreProofsEnabled>("AreProofsEnabled")

packages/sequencer/src/index.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,3 +96,6 @@ export * from "./settlement/tasks/SettlementProvingTask";
9696
export * from "./settlement/transactions/MinaTransactionSender";
9797
export * from "./settlement/transactions/MinaTransactionSimulator";
9898
export * from "./settlement/transactions/MinaSimulationService";
99+
export * from "./logging/Tracer";
100+
export * from "./logging/ConsoleLoggingFactory";
101+
export * from "./logging/ConsoleTracer";
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { injectable } from "tsyringe";
2+
import { DependencyFactory, DependencyRecord } from "@proto-kit/common";
3+
4+
import { ConsoleTracer } from "./ConsoleTracer";
5+
6+
@injectable()
7+
export class ConsoleLoggingFactory implements DependencyFactory {
8+
public dependencies() {
9+
return {
10+
Tracer: {
11+
useClass: ConsoleTracer,
12+
},
13+
} satisfies DependencyRecord;
14+
}
15+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { injectable } from "tsyringe";
2+
import { log } from "@proto-kit/common";
3+
4+
import { Tracer } from "./Tracer";
5+
6+
@injectable()
7+
export class ConsoleTracer implements Tracer {
8+
public async trace<T>(
9+
name: string,
10+
f: () => Promise<T>,
11+
metadata?: Record<string, string | number | boolean>
12+
): Promise<T> {
13+
const timeStart = Date.now();
14+
const result = await f();
15+
const message = `Routine ${name} took ${Date.now() - timeStart}ms`;
16+
if (metadata !== undefined) {
17+
log.info(message, metadata);
18+
} else {
19+
log.info(message);
20+
}
21+
return result;
22+
}
23+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
export interface Tracer {
2+
trace<T>(
3+
name: string,
4+
f: () => Promise<T>,
5+
metadata?: Record<string, string | number | boolean>
6+
): Promise<T>;
7+
}

0 commit comments

Comments
 (0)