Skip to content

Commit 974eb66

Browse files
authored
fix(2878): return meta for metrics (#581)
1 parent a261f18 commit 974eb66

File tree

4 files changed

+25
-9
lines changed

4 files changed

+25
-9
lines changed

lib/buildFactory.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,12 @@ class BuildFactory extends BaseFactory {
349349
jobIds.forEach(jobId => {
350350
const jobBuilds = builds[0].filter(b => b.jobId === jobId);
351351

352+
jobBuilds.forEach(build => {
353+
if (build.meta) {
354+
build.meta = JSON.parse(build.meta);
355+
}
356+
});
357+
352358
result.push({
353359
jobId,
354360
builds: jobBuilds

lib/event.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ class EventModel extends BaseModel {
6464

6565
// Generate metrics
6666
const metrics = builds.map(b => {
67-
const { id, jobId, eventId, createTime, status, startTime, endTime, stats } = b;
67+
const { id, jobId, eventId, createTime, status, startTime, endTime, stats, meta } = b;
6868
const duration = findDuration(startTime, endTime);
6969
let queuedTime;
7070
let imagePullTime;
@@ -87,7 +87,8 @@ class EventModel extends BaseModel {
8787
duration,
8888
status,
8989
queuedTime,
90-
imagePullTime
90+
imagePullTime,
91+
meta
9192
};
9293
});
9394

lib/rawQueries.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22

33
const Queries = {
44
// getBuildStatuses()
5-
getStatusesQuery: (tablePrefix = '') => `SELECT "id", "jobId", "status", "startTime", "endTime"
6-
FROM (SELECT "id", "jobId", "status", "startTime", "endTime",
5+
getStatusesQuery: (tablePrefix = '') => `SELECT "id", "jobId", "status", "startTime", "endTime", "meta"
6+
FROM (SELECT "id", "jobId", "status", "startTime", "endTime", "meta",
77
RANK() OVER ( PARTITION BY "jobId" ORDER BY "id" DESC ) AS rank
88
FROM "${tablePrefix}builds" WHERE "jobId" in (:jobIds)) as R
99
WHERE rank > :offset AND rank <= :maxRank
1010
ORDER BY "jobId", "id" ASC`,
1111

12-
getStatusesQueryMySql: (tablePrefix = '') => `SELECT id, jobId, status, startTime, endTime FROM (
12+
getStatusesQueryMySql: (tablePrefix = '') => `SELECT id, jobId, status, startTime, endTime, meta FROM (
1313
SELECT
14-
id, jobId, status, startTime, endTime,
14+
id, jobId, status, startTime, endTime, meta,
1515
IF(jobId=@lastJobId,
1616
IF(id=@lastId,@curRank:=@curRank,@curRank:=@_sequence),
1717
@_sequence:=1) AS rank,

test/lib/event.test.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,10 @@ describe('Event Model', () => {
122122
createTime: '2019-01-22T21:00:00.000Z',
123123
startTime: '2019-01-22T21:08:00.000Z',
124124
endTime: '2019-01-22T21:30:00.000Z',
125-
status: 'SUCCESS'
125+
status: 'SUCCESS',
126+
meta: {
127+
foo: 'bar'
128+
}
126129
};
127130
const build2 = {
128131
id: 12,
@@ -135,6 +138,9 @@ describe('Event Model', () => {
135138
stats: {
136139
queueEnterTime: '2019-01-22T21:02:00.000Z',
137140
imagePullStartTime: '2019-01-22T21:10:00.000Z'
141+
},
142+
meta: {
143+
foo: 'bar'
138144
}
139145
};
140146
const duration1 = (new Date(build1.endTime) - new Date(build1.startTime)) / 1000;
@@ -153,7 +159,8 @@ describe('Event Model', () => {
153159
status: build1.status,
154160
duration: duration1,
155161
imagePullTime: undefined,
156-
queuedTime: undefined
162+
queuedTime: undefined,
163+
meta: build1.meta
157164
},
158165
{
159166
id: build2.id,
@@ -165,7 +172,8 @@ describe('Event Model', () => {
165172
status: build2.status,
166173
duration: duration2,
167174
imagePullTime: 600,
168-
queuedTime: 480
175+
queuedTime: 480,
176+
meta: build2.meta
169177
}
170178
];
171179
});
@@ -203,6 +211,7 @@ describe('Event Model', () => {
203211
params: {
204212
eventId: 1234
205213
},
214+
206215
sort: 'ascending',
207216
sortBy: 'id',
208217
readOnly: true

0 commit comments

Comments
 (0)