Skip to content

Commit 435c66a

Browse files
committed
Use the clickhouseFactory directly. WIP on new event repository
1 parent d9f64af commit 435c66a

38 files changed

Lines changed: 313 additions & 409 deletions

File tree

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { type Project, type RuntimeEnvironment, type TaskRunStatus } from "@trig
99
import assertNever from "assert-never";
1010
import { z } from "zod";
1111
import { API_VERSIONS, RunStatusUnspecifiedApiVersion } from "~/api/versions";
12-
import { getClickhouseForOrganization } from "~/services/clickhouse/clickhouseFactory.server";
12+
import { clickhouseFactory } from "~/services/clickhouse/clickhouseFactory.server";
1313
import { logger } from "~/services/logger.server";
1414
import { CoercedDate } from "~/utils/zod";
1515
import { ServiceValidationError } from "~/v3/services/baseService.server";
@@ -259,7 +259,7 @@ export class ApiRunListPresenter extends BasePresenter {
259259
options.machines = searchParams["filter[machine]"];
260260
}
261261

262-
const clickhouse = await getClickhouseForOrganization(organizationId, "standard");
262+
const clickhouse = await clickhouseFactory.getClickhouseForOrganization(organizationId, "standard");
263263
const presenter = new NextRunListPresenter(this._replica, clickhouse);
264264

265265
logger.debug("Calling RunListPresenter", { options });

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { type PrismaClient } from "@trigger.dev/database";
22
import { CreateBulkActionSearchParams } from "~/routes/resources.orgs.$organizationSlug.projects.$projectParam.env.$envParam.runs.bulkaction";
3-
import { getClickhouseForOrganization } from "~/services/clickhouse/clickhouseFactory.server";
3+
import { clickhouseFactory } from "~/services/clickhouse/clickhouseFactory.server";
44
import { RunsRepository } from "~/services/runsRepository/runsRepository.server";
55
import { getRunFiltersFromRequest } from "../RunFilters.server";
66
import { BasePresenter } from "./basePresenter.server";
@@ -24,7 +24,7 @@ export class CreateBulkActionPresenter extends BasePresenter {
2424
Object.fromEntries(new URL(request.url).searchParams)
2525
);
2626

27-
const clickhouse = await getClickhouseForOrganization(organizationId, "standard");
27+
const clickhouse = await clickhouseFactory.getClickhouseForOrganization(organizationId, "standard");
2828
const runsRepository = new RunsRepository({
2929
clickhouse,
3030
prisma: this._replica as PrismaClient,

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { RunsRepository } from "~/services/runsRepository/runsRepository.server";
22
import { BasePresenter } from "./basePresenter.server";
3-
import { getClickhouseForOrganization } from "~/services/clickhouse/clickhouseFactory.server";
3+
import { clickhouseFactory } from "~/services/clickhouse/clickhouseFactory.server";
44
import { type PrismaClient } from "@trigger.dev/database";
55
import { timeFilters } from "~/components/runs/v3/SharedFilters";
66

@@ -37,7 +37,7 @@ export class RunTagListPresenter extends BasePresenter {
3737
}: TagListOptions) {
3838
const hasFilters = Boolean(name?.trim());
3939

40-
const clickhouse = await getClickhouseForOrganization(organizationId, "standard");
40+
const clickhouse = await clickhouseFactory.getClickhouseForOrganization(organizationId, "standard");
4141
const runsRepository = new RunsRepository({
4242
clickhouse,
4343
prisma: this._replica as PrismaClient,

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
type TaskTriggerSource,
55
} from "@trigger.dev/database";
66
import { $replica } from "~/db.server";
7-
import { getClickhouseForOrganization } from "~/services/clickhouse/clickhouseFactory.server";
7+
import { clickhouseFactory } from "~/services/clickhouse/clickhouseFactory.server";
88
import {
99
type AverageDurations,
1010
ClickHouseEnvironmentMetricsRepository,
@@ -74,7 +74,7 @@ export class TaskListPresenter {
7474
const slugs = tasks.map((t) => t.slug);
7575

7676
// Create org-specific environment metrics repository
77-
const clickhouse = await getClickhouseForOrganization(organizationId, "standard");
77+
const clickhouse = await clickhouseFactory.getClickhouseForOrganization(organizationId, "standard");
7878
const environmentMetricsRepository = new ClickHouseEnvironmentMetricsRepository({
7979
clickhouse,
8080
});

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { getUsage, getUsageSeries } from "~/services/platform.v3.server";
44
import { createTimeSeriesData } from "~/utils/graphs";
55
import { BasePresenter } from "./basePresenter.server";
66
import { DataPoint, linear } from "regression";
7-
import { getClickhouseForOrganization } from "~/services/clickhouse/clickhouseFactory.server";
7+
import { clickhouseFactory } from "~/services/clickhouse/clickhouseFactory.server";
88

99
type Options = {
1010
organizationId: string;
@@ -124,7 +124,7 @@ async function getTaskUsageByOrganization(
124124
endOfMonth: Date,
125125
replica: PrismaClientOrTransaction
126126
) {
127-
const clickhouse = await getClickhouseForOrganization(organizationId, "standard");
127+
const clickhouse = await clickhouseFactory.getClickhouseForOrganization(organizationId, "standard");
128128
const [queryError, tasks] = await clickhouse.taskRuns.getTaskUsageByOrganization({
129129
startTime: startOfMonth.getTime(),
130130
endTime: endOfMonth.getTime(),

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ScheduleObject } from "@trigger.dev/core/v3";
22
import { PrismaClient, prisma } from "~/db.server";
33
import { displayableEnvironment } from "~/models/runtimeEnvironment.server";
4-
import { getClickhouseForOrganization } from "~/services/clickhouse/clickhouseFactory.server";
4+
import { clickhouseFactory } from "~/services/clickhouse/clickhouseFactory.server";
55
import { nextScheduledTimestamps } from "~/v3/utils/calculateNextSchedule.server";
66
import { NextRunListPresenter } from "./NextRunListPresenter.server";
77
import { scheduleWhereClause } from "~/models/schedules.server";
@@ -75,7 +75,7 @@ export class ViewSchedulePresenter {
7575
? nextScheduledTimestamps(schedule.generatorExpression, schedule.timezone, new Date(), 5)
7676
: [];
7777

78-
const clickhouse = await getClickhouseForOrganization(schedule.project.organizationId, "standard");
78+
const clickhouse = await clickhouseFactory.getClickhouseForOrganization(schedule.project.organizationId, "standard");
7979
const runPresenter = new NextRunListPresenter(this.#prismaClient, clickhouse);
8080
const { runs } = await runPresenter.call(schedule.project.organizationId, environmentId, {
8181
projectId: schedule.project.id,

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { isWaitpointOutputTimeout, prettyPrintPacket } from "@trigger.dev/core/v3";
2-
import { getClickhouseForOrganization } from "~/services/clickhouse/clickhouseFactory.server";
2+
import { clickhouseFactory } from "~/services/clickhouse/clickhouseFactory.server";
33
import { generateHttpCallbackUrl } from "~/services/httpCallback.server";
44
import { logger } from "~/services/logger.server";
55
import { BasePresenter } from "./basePresenter.server";
@@ -79,7 +79,7 @@ export class WaitpointPresenter extends BasePresenter {
7979
const connectedRuns: NextRunListItem[] = [];
8080

8181
if (connectedRunIds.length > 0) {
82-
const clickhouse = await getClickhouseForOrganization(waitpoint.environment.organizationId, "standard");
82+
const clickhouse = await clickhouseFactory.getClickhouseForOrganization(waitpoint.environment.organizationId, "standard");
8383
const runPresenter = new NextRunListPresenter(this._prisma, clickhouse);
8484
const { runs } = await runPresenter.call(
8585
waitpoint.environment.organizationId,

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import {
3232
MetricDashboardPresenter,
3333
} from "~/presenters/v3/MetricDashboardPresenter.server";
3434
import { PromptPresenter } from "~/presenters/v3/PromptPresenter.server";
35-
import { getClickhouseForOrganization } from "~/services/clickhouse/clickhouseFactory.server";
35+
import { clickhouseFactory } from "~/services/clickhouse/clickhouseFactory.server";
3636
import { requireUser } from "~/services/session.server";
3737
import { cn } from "~/utils/cn";
3838
import { EnvironmentParamSchema } from "~/utils/pathBuilder";
@@ -75,7 +75,7 @@ export const loader = async ({ request, params }: LoaderFunctionArgs) => {
7575

7676
const filters = dashboard.filters ?? ["tasks", "queues"];
7777

78-
const clickhouse = await getClickhouseForOrganization(project.organizationId, "standard");
78+
const clickhouse = await clickhouseFactory.getClickhouseForOrganization(project.organizationId, "standard");
7979

8080
// Load distinct models from ClickHouse if the dashboard has a models filter
8181
let possibleModels: { model: string; system: string }[] = [];

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,13 @@ import {
2626
} from "~/presenters/v3/ErrorGroupPresenter.server";
2727
import { type NextRunList } from "~/presenters/v3/NextRunListPresenter.server";
2828
import { $replica } from "~/db.server";
29-
import { logsClickhouseClient, clickhouseClient } from "~/services/clickhouseInstance.server";
29+
import {
30+
getDefaultClickhouseClient,
31+
getDefaultLogsClickhouseClient,
32+
} from "~/services/clickhouse/clickhouseFactory.server";
33+
34+
const clickhouseClient = getDefaultClickhouseClient();
35+
const logsClickhouseClient = getDefaultLogsClickhouseClient();
3036
import { NavBar, PageTitle } from "~/components/primitives/PageHeader";
3137
import { PageBody } from "~/components/layout/AppLayout";
3238
import {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ import {
7070
type ErrorOccurrences,
7171
type ErrorsList as ErrorsListData,
7272
} from "~/presenters/v3/ErrorsListPresenter.server";
73-
import { getClickhouseForOrganization } from "~/services/clickhouse/clickhouseFactory.server";
73+
import { clickhouseFactory } from "~/services/clickhouse/clickhouseFactory.server";
7474
import { getCurrentPlan } from "~/services/platform.v3.server";
7575
import { requireUser } from "~/services/session.server";
7676
import { formatNumberCompact } from "~/utils/numberFormatter";
@@ -123,7 +123,7 @@ export const loader = async ({ request, params }: LoaderFunctionArgs) => {
123123
const plan = await getCurrentPlan(project.organizationId);
124124
const retentionLimitDays = plan?.v3Subscription?.plan?.limits.logRetentionDays.number ?? 30;
125125

126-
const logsClickhouse = await getClickhouseForOrganization(project.organizationId, "logs");
126+
const logsClickhouse = await clickhouseFactory.getClickhouseForOrganization(project.organizationId, "logs");
127127
const presenter = new ErrorsListPresenter($replica, logsClickhouse);
128128

129129
const listPromise = presenter

0 commit comments

Comments
 (0)