Skip to content

Commit fc0d5fd

Browse files
committed
refactor: rename the terminal telemetry event to deployment.finished
1 parent 9cd1c6c commit fc0d5fd

8 files changed

Lines changed: 24 additions & 24 deletions

apps/webapp/app/v3/deploymentTelemetry.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { BuildServerMetadata } from "@trigger.dev/core/v3";
22

33
/**
4-
* Attribute names for the `deployment.lifecycle` and `deployment.initialized`
5-
* telemetry events (emitted by services/recordDeploymentLifecycle.server.ts).
4+
* Attribute names for the `deployment.finished` and `deployment.initialized`
5+
* telemetry events (emitted by services/recordDeploymentFinished.server.ts).
66
* This module is the single owner of these names — external queries,
77
* dashboards, and monitors reference them, so treat renames as breaking.
88
*
@@ -24,7 +24,7 @@ export const DeploymentTelemetryAttributes = {
2424
// Deployment friendly id — the dedup key
2525
DEPLOYMENT_ID: "deployment.id",
2626
VERSION: "deployment.version",
27-
// lifecycle: terminal status; initialized: initial status (PENDING/BUILDING)
27+
// finished: terminal status; initialized: initial status (PENDING/BUILDING)
2828
STATUS: "deployment.status",
2929
// status === DEPLOYED; CANCELED is excluded from failure rates
3030
SUCCESS: "deployment.success",

apps/webapp/app/v3/services/createDeploymentBackgroundWorkerV4.server.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import {
1818
} from "./createBackgroundWorker.server";
1919
import { findOrCreateBackgroundWorker } from "./createDeploymentBackgroundWorkerV4/findOrCreateBackgroundWorker.server";
2020
import { TimeoutDeploymentService } from "./timeoutDeployment.server";
21-
import { recordDeploymentLifecycle } from "./recordDeploymentLifecycle.server";
21+
import { recordDeploymentFinished } from "./recordDeploymentFinished.server";
2222
import { env } from "~/env.server";
2323
import { webhookPrisma } from "~/db.server";
2424

@@ -335,7 +335,7 @@ export class CreateDeploymentBackgroundWorkerServiceV4 extends BaseService {
335335
// BUILDING → DEPLOYING transition.
336336
await TimeoutDeploymentService.dequeue(deployment.id, this._prisma);
337337

338-
recordDeploymentLifecycle({
338+
recordDeploymentFinished({
339339
status: "FAILED",
340340
deployment: { ...deployment, status: "FAILED", failedAt, errorData },
341341
environment: {

apps/webapp/app/v3/services/deployment.server.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
type DeploymentEvent,
1010
} from "@trigger.dev/core/v3";
1111
import { TimeoutDeploymentService } from "./timeoutDeployment.server";
12-
import { recordDeploymentLifecycle } from "./recordDeploymentLifecycle.server";
12+
import { recordDeploymentFinished } from "./recordDeploymentFinished.server";
1313
import { env } from "~/env.server";
1414
import { createRemoteImageBuild } from "../remoteImageBuilder.server";
1515
import { FINAL_DEPLOYMENT_STATUSES } from "./failDeployment.server";
@@ -252,9 +252,9 @@ export class DeploymentService extends BaseService {
252252
.andThen(validateDeployment)
253253
.andThen(cancelDeployment)
254254
.andThen(({ deployment }) =>
255-
this.#recordCanceledLifecycle(deployment.id)
255+
this.#recordCanceledTelemetry(deployment.id)
256256
.orElse((error) => {
257-
logger.error("Failed to record canceled deployment lifecycle", { error });
257+
logger.error("Failed to record canceled deployment telemetry", { error });
258258
return okAsync(undefined);
259259
})
260260
.map(() => ({ deployment }))
@@ -484,7 +484,7 @@ export class DeploymentService extends BaseService {
484484
}
485485

486486
// The cancel chain only carries a narrow row selection, so re-fetch the full row
487-
#recordCanceledLifecycle(deploymentId: string) {
487+
#recordCanceledTelemetry(deploymentId: string) {
488488
return fromPromise(
489489
this._prisma.workerDeployment.findFirst({
490490
where: { id: deploymentId },
@@ -505,7 +505,7 @@ export class DeploymentService extends BaseService {
505505
).map((canceled) => {
506506
if (!canceled || canceled.status !== "CANCELED") return;
507507

508-
recordDeploymentLifecycle({
508+
recordDeploymentFinished({
509509
status: "CANCELED",
510510
deployment: canceled,
511511
environment: {

apps/webapp/app/v3/services/failDeployment.server.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { boundedIn, Prisma, type WorkerDeploymentStatus } from "@trigger.dev/dat
55
import { type FailDeploymentRequestBody } from "@trigger.dev/core/v3/schemas";
66
import { type AuthenticatedEnvironment } from "~/services/apiAuth.server";
77
import { DeploymentService } from "./deployment.server";
8-
import { recordDeploymentLifecycle } from "./recordDeploymentLifecycle.server";
8+
import { recordDeploymentFinished } from "./recordDeploymentFinished.server";
99

1010
export const FINAL_DEPLOYMENT_STATUSES: WorkerDeploymentStatus[] = [
1111
"CANCELED",
@@ -78,7 +78,7 @@ export class FailDeploymentService extends BaseService {
7878
return;
7979
}
8080

81-
recordDeploymentLifecycle({
81+
recordDeploymentFinished({
8282
status: "FAILED",
8383
deployment: failedDeployment,
8484
environment: {

apps/webapp/app/v3/services/finalizeDeployment.server.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { projectPubSub } from "./projectPubSub.server";
1010
import { FailDeploymentService } from "./failDeployment.server";
1111
import { TimeoutDeploymentService } from "./timeoutDeployment.server";
1212
import { DeploymentService } from "./deployment.server";
13-
import { recordDeploymentLifecycle } from "./recordDeploymentLifecycle.server";
13+
import { recordDeploymentFinished } from "./recordDeploymentFinished.server";
1414
import { engine } from "../runEngine.server";
1515
import { tryCatch } from "@trigger.dev/core";
1616
import { externalDeploymentCacheInstance } from "~/services/externalDeploymentCacheInstance.server";
@@ -101,7 +101,7 @@ export class FinalizeDeploymentService extends BaseService {
101101
buildEnvVars: null,
102102
};
103103

104-
recordDeploymentLifecycle({
104+
recordDeploymentFinished({
105105
status: "DEPLOYED",
106106
deployment: finalizedDeployment,
107107
environment: {

apps/webapp/app/v3/services/initializeDeployment.server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { getDeploymentImageRef } from "../getDeploymentImageRef.server";
1616
import { tryCatch } from "@trigger.dev/core";
1717
import { getRegistryConfig } from "../registryConfig.server";
1818
import { DeploymentService } from "./deployment.server";
19-
import { recordDeploymentInitialized } from "./recordDeploymentLifecycle.server";
19+
import { recordDeploymentInitialized } from "./recordDeploymentFinished.server";
2020
import { createDeploymentWithNextVersion } from "./initializeDeployment/createDeploymentWithNextVersion.server";
2121
import {
2222
cancelSupersededDeployments,

apps/webapp/app/v3/services/recordDeploymentLifecycle.server.ts renamed to apps/webapp/app/v3/services/recordDeploymentFinished.server.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ type TerminalDeploymentStatus = Extract<
1313
"DEPLOYED" | "FAILED" | "TIMED_OUT" | "CANCELED"
1414
>;
1515

16-
type LifecycleDeployment = Pick<
16+
type FinishedDeployment = Pick<
1717
WorkerDeployment,
1818
| "friendlyId"
1919
| "version"
@@ -46,15 +46,15 @@ type EnvironmentInfo = {
4646

4747
/**
4848
* Records a deployment's terminal transition as a single wide
49-
* `deployment.lifecycle` span, backdated createdAt → terminal (attribute
49+
* `deployment.finished` span, backdated createdAt → terminal (attribute
5050
* contract in ../deploymentTelemetry.ts). Call exactly once, only after a
5151
* guarded status write confirmed this caller won the transition. Emitted on
5252
* ROOT_CONTEXT with forceRecording so the sampler can never drop it; never
5353
* throws.
5454
*/
55-
export function recordDeploymentLifecycle(params: {
55+
export function recordDeploymentFinished(params: {
5656
status: TerminalDeploymentStatus;
57-
deployment: LifecycleDeployment;
57+
deployment: FinishedDeployment;
5858
environment: EnvironmentInfo;
5959
reason?: string;
6060
}): void {
@@ -68,7 +68,7 @@ export function recordDeploymentLifecycle(params: {
6868
const errorData = parseErrorData(deployment.errorData);
6969

7070
const span = tracer.startSpan(
71-
"deployment.lifecycle",
71+
"deployment.finished",
7272
{
7373
startTime: deployment.createdAt,
7474
attributes: {
@@ -112,7 +112,7 @@ export function recordDeploymentLifecycle(params: {
112112

113113
span.end(terminalAt);
114114
} catch (error) {
115-
logger.debug("recordDeploymentLifecycle failed", {
115+
logger.debug("recordDeploymentFinished failed", {
116116
deploymentFriendlyId: params.deployment.friendlyId,
117117
error: error instanceof Error ? error.message : String(error),
118118
});
@@ -121,7 +121,7 @@ export function recordDeploymentLifecycle(params: {
121121

122122
/**
123123
* Records a deployment's creation as a zero-duration `deployment.initialized`
124-
* event — the funnel counterpart to `deployment.lifecycle` for detecting
124+
* event — the funnel counterpart to `deployment.finished` for detecting
125125
* stuck deployments. Never throws.
126126
*/
127127
export function recordDeploymentInitialized(params: {

apps/webapp/app/v3/services/timeoutDeployment.server.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { commonWorker } from "../commonWorker.server";
55
import { PerformDeploymentAlertsService } from "./alerts/performDeploymentAlerts.server";
66
import { type PrismaClientOrTransaction } from "~/db.server";
77
import { DeploymentService } from "./deployment.server";
8-
import { recordDeploymentLifecycle } from "./recordDeploymentLifecycle.server";
8+
import { recordDeploymentFinished } from "./recordDeploymentFinished.server";
99

1010
export class TimeoutDeploymentService extends BaseService {
1111
public async call(id: string, fromStatus: string, errorMessage: string) {
@@ -71,7 +71,7 @@ export class TimeoutDeploymentService extends BaseService {
7171
buildEnvVars: null,
7272
};
7373

74-
recordDeploymentLifecycle({
74+
recordDeploymentFinished({
7575
status: "TIMED_OUT",
7676
deployment: timedOutDeployment,
7777
environment: {

0 commit comments

Comments
 (0)