Skip to content

Commit ec9dff1

Browse files
authored
feat: move org calculations and metrics by organization ids (#3348)
Signed-off-by: Gašper Grom <gasper.grom@gmail.com>
1 parent 4d0579e commit ec9dff1

3 files changed

Lines changed: 35 additions & 21 deletions

File tree

services/libs/tinybird/datasources/org_dash_metric_copy_ds.datasource

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ DESCRIPTION >
33

44
SCHEMA >
55
`slug` String,
6-
`accountName` String,
6+
`organizationId` String,
77
`commits` UInt64,
88
`orgCommits` UInt64,
99
`prsOpened` UInt64,
@@ -15,4 +15,4 @@ SCHEMA >
1515
`maintainersCount` UInt64
1616

1717
ENGINE MergeTree
18-
ENGINE_SORTING_KEY accountName, slug
18+
ENGINE_SORTING_KEY organizationId, slug

services/libs/tinybird/pipes/org_dash_metric_copy_pipe.pipe

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,8 @@
1-
NODE org_dash_metric_copy_pipe_memberships_deduplicated
2-
SQL >
3-
SELECT accountName, organizationId FROM lfxMemberships FINAL WHERE organizationId != ''
4-
51
NODE org_dash_metric_copy_pipe_projects_deduplicated
62
SQL >
73
SELECT id, slug, segmentId
84
FROM insights_projects_populated_ds
95
WHERE contributorCount > 0 AND organizationCount > 0
10-
GROUP BY id, slug, segmentId
11-
12-
NODE org_dash_metric_copy_pipe_org_project_options
13-
SQL >
14-
SELECT *
15-
FROM org_dash_metric_copy_pipe_memberships_deduplicated
16-
CROSS JOIN org_dash_metric_copy_pipe_projects_deduplicated
176

187
NODE org_dash_metric_copy_pipe_project_activities
198
SQL >
@@ -42,18 +31,29 @@ SQL >
4231
) as orgPrsOpened,
4332
uniq(memberId) AS orgContributorCount
4433
FROM activityRelations_deduplicated_cleaned_ds
34+
WHERE
35+
organizationId != ''
36+
AND timestamp >= toStartOfDay(now() - toIntervalDay(365))
37+
AND timestamp < toStartOfDay(now())
4538
GROUP BY segmentId, organizationId
4639

4740
NODE org_dash_metric_copy_pipe_project_avg_merge_time
4841
SQL >
4942
SELECT segmentId, round(avg(mergedInSeconds)) as averageMergeTimeSeconds
5043
FROM pull_requests_analyzed
44+
WHERE
45+
openedAt >= toStartOfDay(now() - toIntervalDay(365))
46+
AND openedAt < toStartOfDay(now() + toIntervalDay(1))
5147
GROUP BY segmentId
5248

5349
NODE org_dash_metric_copy_pipe_org_avg_merge_time
5450
SQL >
5551
SELECT segmentId, organizationId, round(avg(mergedInSeconds)) as orgAverageMergeTimeSeconds
5652
FROM pull_requests_analyzed
53+
WHERE
54+
organizationId != ''
55+
AND openedAt >= toStartOfDay(now() - toIntervalDay(365))
56+
AND openedAt < toStartOfDay(now() + toIntervalDay(1))
5757
GROUP BY segmentId, organizationId
5858

5959
NODE org_dash_metric_copy_pipe_org_maintainers
@@ -67,7 +67,7 @@ NODE org_dash_metric_copy_pipe_metrics
6767
SQL >
6868
SELECT
6969
slug,
70-
accountName,
70+
organizationId,
7171
sum(commits) as commits,
7272
sum(orgCommits) as orgCommits,
7373
sum(prsOpened) as prsOpened,
@@ -77,13 +77,14 @@ SQL >
7777
avg(averageMergeTimeSeconds) as averageMergeTimeSeconds,
7878
avg(orgAverageMergeTimeSeconds) as orgAverageMergeTimeSeconds,
7979
sum(maintainersCount) as maintainersCount
80-
FROM org_dash_metric_copy_pipe_org_project_options
80+
FROM org_dash_metric_copy_pipe_org_activities
81+
LEFT JOIN org_dash_metric_copy_pipe_projects_deduplicated USING (segmentId)
8182
LEFT JOIN org_dash_metric_copy_pipe_project_activities USING (segmentId)
82-
LEFT JOIN org_dash_metric_copy_pipe_org_activities USING (segmentId, organizationId)
8383
LEFT JOIN org_dash_metric_copy_pipe_project_avg_merge_time USING (segmentId)
8484
LEFT JOIN org_dash_metric_copy_pipe_org_avg_merge_time USING (segmentId, organizationId)
8585
LEFT JOIN org_dash_metric_copy_pipe_org_maintainers USING (id, organizationId)
86-
GROUP BY slug, accountName
86+
WHERE slug != ''
87+
GROUP BY slug, organizationId
8788

8889
TYPE COPY
8990
TARGET_DATASOURCE org_dash_metric_copy_ds
Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
TOKEN "insights-app-token" READ
12
TOKEN "org_dash_metrics_endpoint_read_9856" READ
23

34
NODE org_dash_metrics_results
@@ -6,16 +7,28 @@ DESCRIPTION >
67

78
SQL >
89
%
9-
SELECT *
10+
SELECT
11+
slug,
12+
round(avg(commits)) as commits,
13+
sum(orgCommits) as orgCommits,
14+
round(avg(prsOpened)) as prsOpened,
15+
sum(orgPrsOpened) as orgPrsOpened,
16+
round(avg(contributorCount)) as contributorCount,
17+
sum(orgContributorCount) as orgContributorCount,
18+
round(avg(averageMergeTimeSeconds)) as averageMergeTimeSeconds,
19+
round(avg(orgAverageMergeTimeSeconds)) as orgAverageMergeTimeSeconds,
20+
sum(maintainersCount) as maintainersCount
1021
FROM org_dash_metric_copy_ds
1122
WHERE
1223
1 = 1
13-
{% if defined(accountName) %}
14-
AND accountName
15-
= {{ String(accountName, description="Filter accountName", required=False) }}
24+
{% if defined(organizationIds) %}
25+
AND organizationId
26+
in
27+
{{ Array(organizationIds, 'String', description="Filter organizationIds", required=False) }}
1628
{% end %}
1729
{% if defined(slugs) %}
1830
AND slug in {{ Array(slugs, 'String', description="Filter slugs", required=False) }}
1931
{% end %}
32+
GROUP BY slug
2033
LIMIT {{ Int32(pageSize, 20) }}
2134
OFFSET {{ Int32(page, 0) * Int32(pageSize, 20) }}

0 commit comments

Comments
 (0)