Skip to content

Commit 5f5790b

Browse files
chore: add tracing to all events
1 parent f94403a commit 5f5790b

File tree

8 files changed

+427
-218
lines changed

8 files changed

+427
-218
lines changed
Lines changed: 130 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,141 @@
11
import type { Event } from "@ctrlplane/events";
22

3+
import { makeWithSpan, trace } from "@ctrlplane/logger";
4+
35
import type { Handler } from ".";
46
import { OperationPipeline } from "../workspace/pipeline.js";
57
import { WorkspaceManager } from "../workspace/workspace.js";
68

7-
export const newDeploymentVariable: Handler<
8-
Event.DeploymentVariableCreated
9-
> = async (event) => {
10-
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
11-
if (ws == null) return;
12-
await OperationPipeline.update(ws)
13-
.deploymentVariable(event.payload)
14-
.dispatch();
15-
};
9+
const newDeploymentVariableTracer = trace.getTracer("new-deployment-variable");
10+
const withNewDeploymentVariableSpan = makeWithSpan(newDeploymentVariableTracer);
11+
12+
export const newDeploymentVariable: Handler<Event.DeploymentVariableCreated> =
13+
withNewDeploymentVariableSpan(
14+
"new-deployment-variable",
15+
async (span, event) => {
16+
span.setAttribute("deployment-variable.id", event.payload.id);
17+
span.setAttribute("deployment.id", event.payload.deploymentId);
18+
span.setAttribute("workspace.id", event.workspaceId);
19+
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
20+
if (ws == null) return;
21+
await OperationPipeline.update(ws)
22+
.deploymentVariable(event.payload)
23+
.dispatch();
24+
},
25+
);
26+
27+
const updatedDeploymentVariableTracer = trace.getTracer(
28+
"updated-deployment-variable",
29+
);
30+
const withUpdatedDeploymentVariableSpan = makeWithSpan(
31+
updatedDeploymentVariableTracer,
32+
);
33+
34+
export const updatedDeploymentVariable: Handler<Event.DeploymentVariableUpdated> =
35+
withUpdatedDeploymentVariableSpan(
36+
"updated-deployment-variable",
37+
async (span, event) => {
38+
span.setAttribute("deployment-variable.id", event.payload.current.id);
39+
span.setAttribute("deployment.id", event.payload.current.deploymentId);
40+
span.setAttribute("workspace.id", event.workspaceId);
41+
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
42+
if (ws == null) return;
43+
await OperationPipeline.update(ws)
44+
.deploymentVariable(event.payload.current)
45+
.dispatch();
46+
},
47+
);
48+
49+
const deletedDeploymentVariableTracer = trace.getTracer(
50+
"deleted-deployment-variable",
51+
);
52+
const withDeletedDeploymentVariableSpan = makeWithSpan(
53+
deletedDeploymentVariableTracer,
54+
);
55+
56+
export const deletedDeploymentVariable: Handler<Event.DeploymentVariableDeleted> =
57+
withDeletedDeploymentVariableSpan(
58+
"deleted-deployment-variable",
59+
async (span, event) => {
60+
span.setAttribute("deployment-variable.id", event.payload.id);
61+
span.setAttribute("deployment.id", event.payload.deploymentId);
62+
span.setAttribute("workspace.id", event.workspaceId);
63+
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
64+
if (ws == null) return;
65+
await OperationPipeline.update(ws)
66+
.deploymentVariable(event.payload)
67+
.dispatch();
68+
},
69+
);
70+
71+
const newDeploymentVariableValueTracer = trace.getTracer(
72+
"new-deployment-variable-value",
73+
);
74+
const withNewDeploymentVariableValueSpan = makeWithSpan(
75+
newDeploymentVariableValueTracer,
76+
);
1677

17-
export const updatedDeploymentVariable: Handler<
18-
Event.DeploymentVariableUpdated
19-
> = async (event) => {
20-
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
21-
if (ws == null) return;
22-
await OperationPipeline.update(ws)
23-
.deploymentVariable(event.payload.current)
24-
.dispatch();
25-
};
78+
export const newDeploymentVariableValue: Handler<Event.DeploymentVariableValueCreated> =
79+
withNewDeploymentVariableValueSpan(
80+
"new-deployment-variable-value",
81+
async (span, event) => {
82+
span.setAttribute("deployment-variable-value.id", event.payload.id);
83+
span.setAttribute("deployment-variable.id", event.payload.variableId);
84+
span.setAttribute("workspace.id", event.workspaceId);
85+
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
86+
if (ws == null) return;
87+
await OperationPipeline.update(ws)
88+
.deploymentVariableValue(event.payload)
89+
.dispatch();
90+
},
91+
);
2692

27-
export const deletedDeploymentVariable: Handler<
28-
Event.DeploymentVariableDeleted
29-
> = async (event) => {
30-
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
31-
if (ws == null) return;
32-
await OperationPipeline.update(ws)
33-
.deploymentVariable(event.payload)
34-
.dispatch();
35-
};
93+
const updatedDeploymentVariableValueTracer = trace.getTracer(
94+
"updated-deployment-variable-value",
95+
);
96+
const withUpdatedDeploymentVariableValueSpan = makeWithSpan(
97+
updatedDeploymentVariableValueTracer,
98+
);
3699

37-
export const newDeploymentVariableValue: Handler<
38-
Event.DeploymentVariableValueCreated
39-
> = async (event) => {
40-
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
41-
if (ws == null) return;
42-
await OperationPipeline.update(ws)
43-
.deploymentVariableValue(event.payload)
44-
.dispatch();
45-
};
100+
export const updatedDeploymentVariableValue: Handler<Event.DeploymentVariableValueUpdated> =
101+
withUpdatedDeploymentVariableValueSpan(
102+
"updated-deployment-variable-value",
103+
async (span, event) => {
104+
span.setAttribute(
105+
"deployment-variable-value.id",
106+
event.payload.current.id,
107+
);
108+
span.setAttribute(
109+
"deployment-variable.id",
110+
event.payload.current.variableId,
111+
);
112+
span.setAttribute("workspace.id", event.workspaceId);
113+
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
114+
if (ws == null) return;
115+
await OperationPipeline.update(ws)
116+
.deploymentVariableValue(event.payload.current)
117+
.dispatch();
118+
},
119+
);
46120

47-
export const updatedDeploymentVariableValue: Handler<
48-
Event.DeploymentVariableValueUpdated
49-
> = async (event) => {
50-
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
51-
if (ws == null) return;
52-
await OperationPipeline.update(ws)
53-
.deploymentVariableValue(event.payload.current)
54-
.dispatch();
55-
};
121+
const deletedDeploymentVariableValueTracer = trace.getTracer(
122+
"deleted-deployment-variable-value",
123+
);
124+
const withDeletedDeploymentVariableValueSpan = makeWithSpan(
125+
deletedDeploymentVariableValueTracer,
126+
);
56127

57-
export const deletedDeploymentVariableValue: Handler<
58-
Event.DeploymentVariableValueDeleted
59-
> = async (event) => {
60-
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
61-
if (ws == null) return;
62-
await OperationPipeline.update(ws)
63-
.deploymentVariableValue(event.payload)
64-
.dispatch();
65-
};
128+
export const deletedDeploymentVariableValue: Handler<Event.DeploymentVariableValueDeleted> =
129+
withDeletedDeploymentVariableValueSpan(
130+
"deleted-deployment-variable-value",
131+
async (span, event) => {
132+
span.setAttribute("deployment-variable-value.id", event.payload.id);
133+
span.setAttribute("deployment-variable.id", event.payload.variableId);
134+
span.setAttribute("workspace.id", event.workspaceId);
135+
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
136+
if (ws == null) return;
137+
await OperationPipeline.update(ws)
138+
.deploymentVariableValue(event.payload)
139+
.dispatch();
140+
},
141+
);
Lines changed: 65 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,82 @@
11
import type * as schema from "@ctrlplane/db/schema";
22
import type { Event } from "@ctrlplane/events";
33

4+
import { makeWithSpan, trace } from "@ctrlplane/logger";
5+
46
import type { Handler } from ".";
57
import { OperationPipeline } from "../workspace/pipeline.js";
68
import { WorkspaceManager } from "../workspace/workspace.js";
79

10+
const newDeploymentVersionTracer = trace.getTracer("new-deployment-version");
11+
const withNewDeploymentVersionSpan = makeWithSpan(newDeploymentVersionTracer);
12+
813
const getDeploymentVersionWithDates = (
914
deploymentVersion: schema.DeploymentVersion,
1015
) => {
1116
const createdAt = new Date(deploymentVersion.createdAt);
1217
return { ...deploymentVersion, createdAt };
1318
};
1419

15-
export const newDeploymentVersion: Handler<
16-
Event.DeploymentVersionCreated
17-
> = async (event) => {
18-
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
19-
if (ws == null) return;
20-
const deploymentVersion = getDeploymentVersionWithDates(event.payload);
21-
await OperationPipeline.update(ws)
22-
.deploymentVersion(deploymentVersion)
23-
.dispatch();
24-
};
20+
export const newDeploymentVersion: Handler<Event.DeploymentVersionCreated> =
21+
withNewDeploymentVersionSpan(
22+
"new-deployment-version",
23+
async (span, event) => {
24+
span.setAttribute("deployment-version.id", event.payload.id);
25+
span.setAttribute("deployment.id", event.payload.deploymentId);
26+
span.setAttribute("workspace.id", event.workspaceId);
27+
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
28+
if (ws == null) return;
29+
const deploymentVersion = getDeploymentVersionWithDates(event.payload);
30+
await OperationPipeline.update(ws)
31+
.deploymentVersion(deploymentVersion)
32+
.dispatch();
33+
},
34+
);
35+
36+
const updatedDeploymentVersionTracer = trace.getTracer(
37+
"updated-deployment-version",
38+
);
39+
const withUpdatedDeploymentVersionSpan = makeWithSpan(
40+
updatedDeploymentVersionTracer,
41+
);
2542

26-
export const updatedDeploymentVersion: Handler<
27-
Event.DeploymentVersionUpdated
28-
> = async (event) => {
29-
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
30-
if (ws == null) return;
31-
const deploymentVersion = getDeploymentVersionWithDates(
32-
event.payload.current,
43+
export const updatedDeploymentVersion: Handler<Event.DeploymentVersionUpdated> =
44+
withUpdatedDeploymentVersionSpan(
45+
"updated-deployment-version",
46+
async (span, event) => {
47+
span.setAttribute("deployment-version.id", event.payload.current.id);
48+
span.setAttribute("deployment.id", event.payload.current.deploymentId);
49+
span.setAttribute("workspace.id", event.workspaceId);
50+
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
51+
if (ws == null) return;
52+
const deploymentVersion = getDeploymentVersionWithDates(
53+
event.payload.current,
54+
);
55+
await OperationPipeline.update(ws)
56+
.deploymentVersion(deploymentVersion)
57+
.dispatch();
58+
},
3359
);
34-
await OperationPipeline.update(ws)
35-
.deploymentVersion(deploymentVersion)
36-
.dispatch();
37-
};
3860

39-
export const deletedDeploymentVersion: Handler<
40-
Event.DeploymentVersionDeleted
41-
> = async (event) => {
42-
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
43-
if (ws == null) return;
44-
const deploymentVersion = getDeploymentVersionWithDates(event.payload);
45-
await OperationPipeline.delete(ws)
46-
.deploymentVersion(deploymentVersion)
47-
.dispatch();
48-
};
61+
const deletedDeploymentVersionTracer = trace.getTracer(
62+
"deleted-deployment-version",
63+
);
64+
const withDeletedDeploymentVersionSpan = makeWithSpan(
65+
deletedDeploymentVersionTracer,
66+
);
67+
68+
export const deletedDeploymentVersion: Handler<Event.DeploymentVersionDeleted> =
69+
withDeletedDeploymentVersionSpan(
70+
"deleted-deployment-version",
71+
async (span, event) => {
72+
span.setAttribute("deployment-version.id", event.payload.id);
73+
span.setAttribute("deployment.id", event.payload.deploymentId);
74+
span.setAttribute("workspace.id", event.workspaceId);
75+
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
76+
if (ws == null) return;
77+
const deploymentVersion = getDeploymentVersionWithDates(event.payload);
78+
await OperationPipeline.delete(ws)
79+
.deploymentVersion(deploymentVersion)
80+
.dispatch();
81+
},
82+
);
Lines changed: 39 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,45 @@
11
import type { Event } from "@ctrlplane/events";
22

3+
import { makeWithSpan, trace } from "@ctrlplane/logger";
4+
35
import type { Handler } from ".";
46
import { OperationPipeline } from "../workspace/pipeline.js";
57
import { WorkspaceManager } from "../workspace/workspace.js";
68

7-
export const newDeployment: Handler<Event.DeploymentCreated> = async (
8-
event,
9-
) => {
10-
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
11-
if (ws == null) return;
12-
await OperationPipeline.update(ws).deployment(event.payload).dispatch();
13-
};
14-
15-
export const updatedDeployment: Handler<Event.DeploymentUpdated> = async (
16-
event,
17-
) => {
18-
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
19-
if (ws == null) return;
20-
await OperationPipeline.update(ws)
21-
.deployment(event.payload.current)
22-
.dispatch();
23-
};
24-
25-
export const deletedDeployment: Handler<Event.DeploymentDeleted> = async (
26-
event,
27-
) => {
28-
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
29-
if (ws == null) return;
30-
await OperationPipeline.delete(ws).deployment(event.payload).dispatch();
31-
};
9+
const newDeploymentTracer = trace.getTracer("new-deployment");
10+
const withNewDeploymentSpan = makeWithSpan(newDeploymentTracer);
11+
12+
export const newDeployment: Handler<Event.DeploymentCreated> =
13+
withNewDeploymentSpan("new-deployment", async (span, event) => {
14+
span.setAttribute("deployment.id", event.payload.id);
15+
span.setAttribute("workspace.id", event.workspaceId);
16+
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
17+
if (ws == null) return;
18+
await OperationPipeline.update(ws).deployment(event.payload).dispatch();
19+
});
20+
21+
const updatedDeploymentTracer = trace.getTracer("updated-deployment");
22+
const withUpdatedDeploymentSpan = makeWithSpan(updatedDeploymentTracer);
23+
24+
export const updatedDeployment: Handler<Event.DeploymentUpdated> =
25+
withUpdatedDeploymentSpan("updated-deployment", async (span, event) => {
26+
span.setAttribute("deployment.id", event.payload.current.id);
27+
span.setAttribute("workspace.id", event.workspaceId);
28+
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
29+
if (ws == null) return;
30+
await OperationPipeline.update(ws)
31+
.deployment(event.payload.current)
32+
.dispatch();
33+
});
34+
35+
const deletedDeploymentTracer = trace.getTracer("deleted-deployment");
36+
const withDeletedDeploymentSpan = makeWithSpan(deletedDeploymentTracer);
37+
38+
export const deletedDeployment: Handler<Event.DeploymentDeleted> =
39+
withDeletedDeploymentSpan("deleted-deployment", async (span, event) => {
40+
span.setAttribute("deployment.id", event.payload.id);
41+
span.setAttribute("workspace.id", event.workspaceId);
42+
const ws = await WorkspaceManager.getOrLoad(event.workspaceId);
43+
if (ws == null) return;
44+
await OperationPipeline.delete(ws).deployment(event.payload).dispatch();
45+
});

0 commit comments

Comments
 (0)