Skip to content

Commit bdbb18f

Browse files
committed
Allow more live reloading when using clickhouse event repo
1 parent 865a704 commit bdbb18f

File tree

7 files changed

+16
-1
lines changed

7 files changed

+16
-1
lines changed

apps/webapp/app/env.server.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,6 +1126,7 @@ const EnvironmentSchema = z
11261126
EVENT_REPOSITORY_DEFAULT_STORE: z.enum(["postgres", "clickhouse"]).default("postgres"),
11271127
EVENTS_CLICKHOUSE_MAX_TRACE_SUMMARY_VIEW_COUNT: z.coerce.number().int().default(25_000),
11281128
EVENTS_CLICKHOUSE_MAX_TRACE_DETAILED_SUMMARY_VIEW_COUNT: z.coerce.number().int().default(5_000),
1129+
EVENTS_CLICKHOUSE_MAX_LIVE_RELOADING_SETTING: z.coerce.number().int().default(2000),
11291130

11301131
// Bootstrap
11311132
TRIGGER_BOOTSTRAP_ENABLED: z.string().default("0"),

apps/webapp/app/presenters/v3/RunPresenter.server.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { resolveEventRepositoryForStore } from "~/v3/eventRepository/index.serve
77
import { SpanSummary } from "~/v3/eventRepository/eventRepository.types";
88
import { getTaskEventStoreTableForRun } from "~/v3/taskEventStore.server";
99
import { isFinalRunStatus } from "~/v3/taskStatus";
10+
import { env } from "~/env.server";
1011

1112
type Result = Awaited<ReturnType<RunPresenter["call"]>>;
1213
export type Run = Result["run"];
@@ -140,6 +141,7 @@ export class RunPresenter {
140141
return {
141142
run: runData,
142143
trace: undefined,
144+
maximumLiveReloadingSetting: env.MAXIMUM_LIVE_RELOADING_EVENTS,
143145
};
144146
}
145147

@@ -258,6 +260,7 @@ export class RunPresenter {
258260
: undefined,
259261
overridesBySpanId: traceSummary.overridesBySpanId,
260262
},
263+
maximumLiveReloadingSetting: eventRepository.maximumLiveReloadingSetting,
261264
};
262265
}
263266
}

apps/webapp/app/routes/_app.orgs.$organizationSlug.projects.$projectParam.env.$envParam.runs.$runParam/route.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ export const loader = async ({ request, params }: LoaderFunctionArgs) => {
172172
return json({
173173
run: result.run,
174174
trace: result.trace,
175-
maximumLiveReloadingSetting: env.MAXIMUM_LIVE_RELOADING_EVENTS,
175+
maximumLiveReloadingSetting: result.maximumLiveReloadingSetting,
176176
resizable: {
177177
parent,
178178
tree,

apps/webapp/app/v3/eventRepository/clickhouseEventRepository.server.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ export type ClickhouseEventRepositoryConfig = {
6767
tracer?: Tracer;
6868
maximumTraceSummaryViewCount?: number;
6969
maximumTraceDetailedSummaryViewCount?: number;
70+
maximumLiveReloadingSetting?: number;
7071
};
7172

7273
/**
@@ -101,6 +102,10 @@ export class ClickhouseEventRepository implements IEventRepository {
101102
});
102103
}
103104

105+
get maximumLiveReloadingSetting() {
106+
return this._config.maximumLiveReloadingSetting ?? 1000;
107+
}
108+
104109
async #flushBatch(flushId: string, events: TaskEventV1Input[]) {
105110
await startSpan(this._tracer, "flushBatch", async (span) => {
106111
span.setAttribute("flush_id", flushId);

apps/webapp/app/v3/eventRepository/clickhouseEventRepositoryInstance.server.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ function initializeClickhouseRepository() {
4242
maximumTraceSummaryViewCount: env.EVENTS_CLICKHOUSE_MAX_TRACE_SUMMARY_VIEW_COUNT,
4343
maximumTraceDetailedSummaryViewCount:
4444
env.EVENTS_CLICKHOUSE_MAX_TRACE_DETAILED_SUMMARY_VIEW_COUNT,
45+
maximumLiveReloadingSetting: env.EVENTS_CLICKHOUSE_MAX_LIVE_RELOADING_SETTING,
4546
});
4647

4748
return repository;

apps/webapp/app/v3/eventRepository/eventRepository.server.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,10 @@ export class EventRepository implements IEventRepository {
8484
return this._flushScheduler.getStatus();
8585
}
8686

87+
get maximumLiveReloadingSetting() {
88+
return env.MAXIMUM_LIVE_RELOADING_EVENTS;
89+
}
90+
8791
constructor(
8892
db: PrismaClient = prisma,
8993
readReplica: PrismaReplicaClient = $replica,

apps/webapp/app/v3/eventRepository/eventRepository.types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,6 +309,7 @@ export type TraceDetailedSummary = {
309309
* Defines the public API for managing task events, traces, and spans.
310310
*/
311311
export interface IEventRepository {
312+
maximumLiveReloadingSetting: number;
312313
// Event insertion methods
313314
insertMany(events: CreateEventInput[]): Promise<void>;
314315
insertManyImmediate(events: CreateEventInput[]): Promise<void>;

0 commit comments

Comments
 (0)