Skip to content

Commit 3a940d1

Browse files
authored
feat: dora table (#109)
* feat: dora table * fix: sql filters * fix: row click
1 parent d534500 commit 3a940d1

16 files changed

Lines changed: 1343 additions & 50 deletions

File tree

apps/api/src/app/metrics/resolvers/dora-metrics.schema.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,20 @@ export default /* GraphQL */ `
1010
input: WorkspaceMetricInput!
1111
): DeploymentFrequencyMetric!
1212
meanTimeToRecover(input: WorkspaceMetricInput!): MeanTimeToRecoverMetric!
13+
teamOverview(input: WorkspaceMetricInput!): [TeamDoraOverviewRow!]
14+
}
15+
16+
type TeamDoraOverviewRow {
17+
teamId: SweetID!
18+
teamName: String!
19+
teamIcon: String!
20+
"Average lead time in milliseconds for deployments in the selected range"
21+
leadTimeMs: BigInt
22+
deploymentCount: Int!
23+
"Change failure rate as a percentage"
24+
changeFailureRate: Float!
25+
"Mean time to recover in milliseconds"
26+
meanTimeToRecoverMs: BigInt
1327
}
1428
1529
input WorkspaceMetricInput {

apps/api/src/app/metrics/resolvers/queries/dora-metrics.query.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { ResourceNotFoundException } from "../../../errors/exceptions/resource-n
66
import {
77
getChangeFailureRateMetric,
88
getDeploymentFrequencyMetric,
9+
getDoraTeamOverview,
910
getLeadTimeMetric,
1011
getMeanTimeToRecoverMetric,
1112
} from "../../services/dora-metrics.service";
@@ -101,4 +102,18 @@ export const doraMetricsQuery = createFieldResolver("DoraMetrics", {
101102

102103
return transformMeanTimeToRecoverMetric(result);
103104
},
105+
teamOverview: async (_, { input }, context) => {
106+
logger.info("query.metrics.dora.teamOverview", {
107+
workspaceId: context.workspaceId,
108+
input,
109+
});
110+
111+
if (!context.workspaceId) {
112+
throw new ResourceNotFoundException("Workspace not found");
113+
}
114+
115+
return getDoraTeamOverview(
116+
buildDoraWorkspaceMetricFilters(context.workspaceId, input)
117+
);
118+
},
104119
});

0 commit comments

Comments
 (0)