Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Google analytics #5

Closed
wants to merge 2,930 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2930 commits
Select commit Hold shift + click to select a range
d5daf50
Status Display Improvement (#2785)
phixMe Apr 1, 2024
17909a2
adapt column lineage query for symlink dataset (#2775)
sophiely Apr 16, 2024
ac23c1b
Update dataset/dataset field tagging experience (#2761)
davidsharp7 Apr 16, 2024
d0a4207
Web: Refine panel feature set (#2798)
phixMe Apr 17, 2024
d6ac3e6
Fix show tags refresh (#2799)
davidsharp7 Apr 18, 2024
c553401
Web: Remove old files and dependencies (#2801)
phixMe Apr 22, 2024
7b20098
Update dependency io.openlineage:openlineage-java to v1.13.1 (#2789)
renovate[bot] Apr 26, 2024
ab46957
Update dependency org.projectlombok:lombok to v1.18.32 (#2781)
renovate[bot] Apr 27, 2024
ec2cf88
Use webpack bundled icon instead of GitHub hosted content (#2803)
dodo0822 Apr 29, 2024
6576fb3
Column Lineage Linking and sticky tab titles (#2805)
phixMe May 1, 2024
b29be3d
Updating colors for json theme. (#2807)
phixMe May 1, 2024
f1eabc4
Web: Tooltips and display updates (#2809)
phixMe May 6, 2024
5cd14e8
feat: add jobVersion field to Run in Java client (#2808)
davidjgoss May 7, 2024
71f454a
add input dataset type (#2528)
sophiely May 7, 2024
ae794a9
Fix `openlineage` tests for data quality facets
wslulciuc May 7, 2024
00b6d35
Add job tagging to API (#2774)
davidsharp7 May 7, 2024
df3a7f1
Web: Data Quality (#2810)
phixMe May 7, 2024
61927c2
Visual tweaks after DQ update (#2812)
phixMe May 8, 2024
226d275
add drop down and change focus based on feedback (#2813)
davidsharp7 May 14, 2024
f2d3c22
Changelog update and fixes in dev. (#2816)
merobi-hub May 17, 2024
f7babf2
Prepare for release 0.47.0
merobi-hub May 17, 2024
1aeab0c
Prepare next development version 0.48.0-SNAPSHOT
merobi-hub May 17, 2024
9b1fdd1
Updates slack links. (#2815)
merobi-hub May 17, 2024
8e448ce
Fixes search endpoint parameters (#2818)
Nisarg-Chokshi May 20, 2024
6ce20ec
Update dependency org.assertj:assertj-core to v3.25.3 (#2791)
renovate[bot] May 21, 2024
75b3190
Update dependency com.graphql-java:graphql-java to v20.9 (#2788)
renovate[bot] May 21, 2024
41f84de
Update dependency org.apache.commons:commons-lang3 to v3.14.0 (#2790)
renovate[bot] May 21, 2024
12775e1
Scroll issues for drawer and status. (#2820)
phixMe May 21, 2024
0e79846
Update helm/kind-action action to v1.10.0 (#2786)
renovate[bot] May 21, 2024
2c50ca0
Add guidance to the main README and the Docs for Windows users (#2777)
merobi-hub May 21, 2024
465ecaa
Make db port configurable via `POSTGRES_PORT` (#2751)
merobi-hub May 22, 2024
82451e0
Update dependency gradle to v8.7 (#2782)
renovate[bot] May 23, 2024
ba65575
Update dependency com.diffplug.spotless:spotless-plugin-gradle to v6.…
renovate[bot] May 23, 2024
6a5262b
Web: Refined application frame (#2825)
phixMe May 28, 2024
b6057c3
optimize query (#2824)
sophiely May 29, 2024
e54ffca
feat: add http customizer to client builder (#2822)
davidjgoss May 30, 2024
7d0b290
Optimize Column Lineage Query Performance (#2821)
vinhnemo Jun 3, 2024
815d2a6
Fix bug in the airflow example docs (#2830)
Marble879 Jun 5, 2024
1f00c9b
Update spelling for updatedAt in openapi docs (#2831)
henneberger Jun 5, 2024
635ad9b
feat: add dataset schema versions (#2763)
davidjgoss Jun 5, 2024
8bfea3f
Web: Source Code Facets (#2833)
phixMe Jun 5, 2024
bd07b9b
Paging unification. (#2832)
phixMe Jun 5, 2024
66e2d7a
Add Job tagging to UI (#2837)
davidsharp7 Jun 19, 2024
b5bcfbf
bring dataset tags into line with Job Tags (#2841)
davidsharp7 Jun 24, 2024
8010387
Remove limit from assertion evaluation. (#2844)
phixMe Jun 28, 2024
fcfebc5
Update dependency org.projectlombok:lombok to v1.18.34 (#2847)
renovate[bot] Jul 11, 2024
2523965
Cleanup issues highlighted by some Spark Integration Data (#2856)
phixMe Jul 20, 2024
f0b2195
version history: deduplicate the versions displayed (#2854)
namyyys Jul 22, 2024
2015c39
Add paging on jobs panel (#2852)
davidsharp7 Jul 23, 2024
879031a
Add paging to dataset versions panel (#2855)
davidsharp7 Jul 23, 2024
801831c
Add endpoint method and path to metrics name. (#2850)
JDarDagran Jul 25, 2024
f73f115
[FIX] Dataset query to get only the latest facet for each version (#2…
sophiely Jul 25, 2024
3bedbd1
Changelog update (#2863)
merobi-hub Jul 30, 2024
9467511
Adding encoding to column lineage link. (#2862)
phixMe Jul 30, 2024
7c3c2a6
Prepare for release 0.48.0
merobi-hub Jul 30, 2024
ba813d5
Prepare next development version 0.49.0-SNAPSHOT
merobi-hub Jul 30, 2024
faaa1cc
Update dependency jacoco to v0.8.12 (#2846)
renovate[bot] Jul 31, 2024
94ec22e
add new adopter Ilum in README (#2865)
thijs-s Aug 4, 2024
2c4d271
Web: encode job name in API requests (#2866)
dolfinus Aug 5, 2024
3094612
Use `OSSRH_USERNAME` and `OSSRH_PASSWORD` for `jvm` release (#2867)
wslulciuc Aug 5, 2024
7c0449a
Running audits and eliminating critical security issue. (#2864)
phixMe Aug 5, 2024
2594958
Feat/job to job lineage (#2752)
yanlibert Aug 6, 2024
d503d21
Changelog update including 0.49 release notes, plus misc README updat…
merobi-hub Aug 7, 2024
51d5f1e
Prepare for release 0.49.0
merobi-hub Aug 7, 2024
a30f3eb
Prepare next development version 0.50.0-SNAPSHOT
merobi-hub Aug 7, 2024
6dd190d
feat: fix a typo and add openapi spec (#2870)
yanlibert Aug 7, 2024
c551e98
Marquez graduates! (#2872)
wslulciuc Aug 7, 2024
9ab3d45
Parent job in job panel (#2868)
phixMe Aug 8, 2024
422fd43
web: Add env variable for setting up the frontend port (MarquezProjec…
bidlako Aug 9, 2024
ead480b
OpenSearch indexing and queries (#2834)
phixMe Aug 16, 2024
88cc969
Add migration with on cascade delete constraint (#2878)
mattwparas Aug 23, 2024
915aff3
add commonLabels to replicasets (#2877)
alaturqua Aug 23, 2024
38bc4ff
fix column lineage query (#2881)
sophiely Aug 27, 2024
a685e9d
Fix incorrect negation (#2882)
phixMe Aug 27, 2024
fef9dbd
Add `POSTGRES_PORT` and `SEARCH_ENABLED` to `docker/down.sh` (#2885)
wslulciuc Aug 29, 2024
66329d1
Fixing error state that never goes away. (#2889)
phixMe Sep 3, 2024
a586a89
Basic 404 page. (#2890)
phixMe Sep 4, 2024
d407e66
Materialized views for lineage events graph (#2891)
phixMe Sep 10, 2024
4775156
Fixing job node color for running and other states. (#2897)
phixMe Sep 12, 2024
239ddf5
Nullable column field fix. (#2896)
phixMe Sep 12, 2024
cb90e38
Setting min depth to 0. (#2895)
phixMe Sep 12, 2024
6d68cf8
Greyscale logos for spark and airflow. (#2898)
phixMe Sep 12, 2024
9450410
Web: DBT Logo for processing engine (#2899)
phixMe Sep 18, 2024
9e8e3d3
Tests for lineage metrics. (#2894)
phixMe Oct 1, 2024
1d90f18
Updated event count chip rendering (#2916)
NisargChokshi45 Oct 3, 2024
65d57f7
Latest runs for jobs (#2901)
phixMe Oct 8, 2024
d180f24
Current Lineage Metrics (#2900)
phixMe Oct 8, 2024
c7e0d63
Dataset, Source, Job Metrics (#2906)
phixMe Oct 8, 2024
423f0dd
Use `io.openlineage.server.*` pkg and add class `Metadata` (#2853)
wslulciuc Oct 9, 2024
b243764
Fix the stats query. (#2919)
phixMe Oct 10, 2024
391b149
Removal of refresh
phixMe Oct 10, 2024
80183f5
Removal of unneeded view and refresher task. (#2920)
phixMe Oct 10, 2024
1022080
New Dashboard (#2913)
phixMe Oct 11, 2024
24fab4b
Run state color utility method call. (#2922)
phixMe Oct 11, 2024
db4fbfa
Use `TIMESTAMPTZ` (#2924)
wslulciuc Oct 11, 2024
bc74ef9
Add `--runs-per-job`, `--max-run-fails-per-job`, and more to `metadat…
wslulciuc Oct 15, 2024
5ba7503
Fix Reverse Runs (#2926)
phixMe Oct 15, 2024
05d16aa
Fixing run state and interval timing (#2927)
phixMe Oct 16, 2024
90a2f65
Add col `current_run_uuid` to `jobs` (#2929)
wslulciuc Oct 17, 2024
8fb6338
Add `GET` `/api/v1/jobs` (#2930)
wslulciuc Oct 17, 2024
6bd4330
Job Panel `RUNNING` status fixes (#2931)
phixMe Oct 17, 2024
da39558
feature/no-job-namespace (#2932)
phixMe Oct 17, 2024
39ddd65
Fixing `latestRun` on `/lineage` endpoint (#2933)
phixMe Oct 18, 2024
7cf1f6a
Handling static JobEvent (#2934)
phixMe Oct 18, 2024
d9ec368
Fixing no runs list rendering. (#2935)
phixMe Oct 18, 2024
b4b6da9
Fixing data quality display. (#2937)
phixMe Oct 21, 2024
b7277d7
Dataset Version call simplification (#2938)
phixMe Oct 21, 2024
fcbbc07
feat: allow db-migrate without version (#2936)
davidjgoss Oct 22, 2024
e2f20f4
Refactor: Remove delete buttons from JobDetailPage and DatasetDetailPage
Kess220 Oct 22, 2024
a457e7b
Merge pull request #2 from nubank/refactor/general-updates
Kess220 Oct 22, 2024
b85b954
Display full `runID` and check icon when copied (#2940)
wslulciuc Oct 22, 2024
cd1138b
Deferred copy revert. (#2941)
phixMe Oct 22, 2024
8a0550a
Long text handling (#2942)
phixMe Oct 23, 2024
2ffe5aa
Use project root for docker volume prefix (#2943)
wslulciuc Oct 23, 2024
d6cf5af
fix: Correct SQL query pagination for DatasetVersion findAll method (…
inanalper Oct 23, 2024
6fdc2ef
Update changelog for `0.50.0`
wslulciuc Oct 24, 2024
2c9b894
Replace `redoc-cli` with `redocly`
wslulciuc Oct 24, 2024
4984ca9
Prepare for release 0.50.0
wslulciuc Oct 24, 2024
f444458
Prepare next development version 0.51.0-SNAPSHOT
wslulciuc Oct 24, 2024
f7a9643
Templatize event time in `metadata.json` (#2946)
wslulciuc Oct 24, 2024
7af0edf
Update CHANGELOG.md
wslulciuc Oct 24, 2024
42d4081
Update `web/docs/demo.gif` (#2948)
wslulciuc Oct 24, 2024
2b7cb40
fix(deps): update dependency io.openlineage:openlineage-java to v1.23…
renovate[bot] Oct 24, 2024
0dd5d6a
fix(deps): update dependency org.assertj:assertj-core to v3.26.3 (#2909)
renovate[bot] Oct 24, 2024
6b54ff6
fix(deps): update dependency org.postgresql:postgresql to v42.7.4 (#2…
renovate[bot] Oct 25, 2024
2d46cf8
fix(deps): update dependency org.opensearch.client:opensearch-rest-cl…
renovate[bot] Oct 25, 2024
ca1f7a3
fix(deps): update dependency org.apache.commons:commons-lang3 to v3.1…
renovate[bot] Oct 25, 2024
82e49cf
Ignore `**/stats/**` (#2952)
wslulciuc Oct 25, 2024
48c6054
Update compatibility for `0.50.0`
wslulciuc Oct 25, 2024
3b43a3e
fix(deps): update dependency org.opensearch.client:opensearch-java to…
renovate[bot] Oct 25, 2024
5a33b2f
`Dataset.currentVersionUuid` `->` `DatasetVersion.uuid` (#2954)
wslulciuc Oct 25, 2024
46bbfa7
Update Events Page (#2955)
phixMe Oct 25, 2024
9e2e9b4
Lineage run attachment issue. (#2953)
phixMe Oct 25, 2024
2d163ce
feature: Better handling of missing environment variables in setupPro…
arturowczarek Oct 28, 2024
6dc1d99
add read-only replacements for api and healthcheck (#3)
lmassaoy Oct 28, 2024
5df8472
sync upstream 0.50.0 (#5)
jrosend Oct 28, 2024
476333b
Merge pull request #4 from MarquezProject/main
lmassaoy Oct 29, 2024
f400525
UI navigation improvements (#6)
Kess220 Nov 11, 2024
1b459b5
update deps security
Kess220 Nov 19, 2024
a6d4011
New replacement classes for Read-Only build (#11)
lmassaoy Nov 19, 2024
8793939
Update dependencies - security (#10)
Kess220 Nov 19, 2024
03d32b0
Remove truncates, add line breaks to dataset and job properties, and …
Kess220 Nov 28, 2024
5d39bbb
documentation about how to run ad-hoc dbRetention (#13)
lmassaoy Dec 17, 2024
79c048d
Refactor sidebar icons to add links and adjust layout for documentati…
Kess220 Dec 20, 2024
b43216c
Update dataset job metrics (#12)
Kess220 Dec 23, 2024
9e415ce
Merge pull request #14 from nubank/sidebar-links-and-layout
Kess220 Dec 23, 2024
9b28922
alt nu_logo
Kess220 Dec 23, 2024
a886b95
Merge pull request #16 from nubank/sidebar-links-and-layout
Kess220 Dec 26, 2024
1d195d2
Implementing Okta User Authentication with OpenID (#17)
jonathanpmoraes Dec 26, 2024
b594d2d
Update styles for login components
Kess220 Dec 27, 2024
b882365
Merge pull request #18 from nubank/login-style
jonathanpmoraes Dec 27, 2024
a78f7a2
sidnav and page changes
Kess220 Jan 6, 2025
410f2c2
add nu_icon in icon_page
Kess220 Jan 7, 2025
cd6e834
add okta_auth
Kess220 Jan 7, 2025
d47a8c0
Adding scopes
jonathanpmoraes Jan 7, 2025
46e748f
auth config prod and favicon and icon page fix
Kess220 Jan 7, 2025
93d79e5
test staging
Kess220 Jan 7, 2025
18f09f6
test staging
Kess220 Jan 7, 2025
501361c
staging test icon page
Kess220 Jan 7, 2025
58461d5
fix icon page
Kess220 Jan 7, 2025
6bcc1b2
icon page fix in prod and staging
Kess220 Jan 7, 2025
fe13b63
icon page fix in prod and staging
Kess220 Jan 7, 2025
7943939
Implementing adjustments for okta auth
jonathanpmoraes Jan 8, 2025
0d071b5
Setting inject to false
jonathanpmoraes Jan 8, 2025
3a87b89
Merge pull request #19 from nubank/sidenav-page-changes
Kess220 Jan 8, 2025
76bc776
Logging user data
jonathanpmoraes Jan 14, 2025
09e7697
Logging user data to app logs
jonathanpmoraes Jan 14, 2025
9fcd208
Logging user data to app logs
jonathanpmoraes Jan 14, 2025
2f73afc
Logging user data to app logs
jonathanpmoraes Jan 14, 2025
1c3fb26
Adjusting logs
jonathanpmoraes Jan 14, 2025
18bae44
Adjusting logs to get only e-mail
jonathanpmoraes Jan 14, 2025
630a436
Adjusting logs to get only e-mail
jonathanpmoraes Jan 14, 2025
8d4fc45
Adjusting logs to get only e-mail
jonathanpmoraes Jan 14, 2025
56cea9c
Adjusting logs to get only e-mail
jonathanpmoraes Jan 14, 2025
0af3f88
Adding prometheus metrics to Marquez Ui
jonathanpmoraes Jan 15, 2025
1058d1b
Adding prometheus metrics for Nu Data Lineage
jonathanpmoraes Jan 15, 2025
8b629bb
fixing issuer
jonathanpmoraes Jan 15, 2025
45727d7
Adding nu data lineage uptime metric
jonathanpmoraes Jan 16, 2025
99ecbed
Hashing user email
jonathanpmoraes Jan 17, 2025
9d78235
Adding counter to users who log in
jonathanpmoraes Jan 21, 2025
b1c8cb6
Adding /jobs to static path
jonathanpmoraes Jan 22, 2025
adcf320
Adding /jobs to static path and including missing constant
jonathanpmoraes Jan 22, 2025
e2a28f2
Implementing unique users metric, total metric and uptime. Separating…
jonathanpmoraes Jan 22, 2025
723c975
Reorganizing variable declaration
jonathanpmoraes Jan 22, 2025
2afa2bb
Merge pull request #23 from nubank/prometheus
jonathanpmoraes Jan 22, 2025
25b08c8
Removing node_modules folder added accidentally to remote repository …
jonathanpmoraes Jan 27, 2025
de01e60
Implementing Indexes for Job Tables (#25)
jonathanpmoraes Jan 27, 2025
ff20c9e
Select both and upstream, loading feedback, back page bug fix (#26)
Kess220 Jan 27, 2025
dc8501a
updating marquez app read only (#28)
lmassaoy Jan 27, 2025
8c2b4b1
fix-seachBar
Kess220 Jan 28, 2025
5479b99
loading-feedback-actionBar
Kess220 Jan 28, 2025
51c8a49
auth values update staging
Kess220 Jan 28, 2025
8ec050d
depth-loading-dataset-and-job
Kess220 Jan 28, 2025
bfcae26
fix actionBar column-level
Kess220 Jan 29, 2025
c4c6e23
update AuthContext PROD
Kess220 Jan 29, 2025
c4c9529
auth values update PROD
Kess220 Jan 29, 2025
376d8af
Merge pull request #30 from nubank/loading-feedback-and-fix-seachBar
Kess220 Jan 29, 2025
45d047e
Adjusting important changes to prod (#31)
jonathanpmoraes Jan 30, 2025
9e268ef
fix to print
Kess220 Jan 31, 2025
58cace4
Removing additional indexes (#33)
jonathanpmoraes Jan 31, 2025
b1b2ca8
Merge pull request #32 from nubank/print-fix
Kess220 Jan 31, 2025
38f0b76
Implementing Google Analytics
jonathanpmoraes Feb 4, 2025
89112b9
Using client id for staging
jonathanpmoraes Feb 4, 2025
0d05a8f
Adding modules
jonathanpmoraes Feb 4, 2025
55bbefc
Extending ga4's capabilities
jonathanpmoraes Feb 4, 2025
b71c5bf
Adjusting app class
jonathanpmoraes Feb 4, 2025
99934a8
Update dependency org.testcontainers:postgresql to v1.15.3 (#1442)
renovate[bot] Jun 23, 2021
8bc1786
remove unnecessary updates which are deadlock prone (#2531)
pawel-big-lebowski Jun 29, 2023
cb145f5
2848 - Connection error while connecting to postgres from local (#2957)
schandir Oct 30, 2024
c54ca48
Set `POSTGRES_HOST=db` for `marquez-api` container (#2959)
wslulciuc Oct 30, 2024
a98de10
Remove search from gitpod cmd (#2960)
wslulciuc Oct 31, 2024
15ed74d
Add arg `--db-port` to `docker/up.sh` (#2961)
wslulciuc Oct 31, 2024
0cd33ab
set WEB_PORT (#2963)
ThijsKoot Oct 31, 2024
49beeeb
Usage for `--db-port` (#2965)
wslulciuc Oct 31, 2024
1339b8e
Deprecate airflow quickstart (#2966)
wslulciuc Oct 31, 2024
491f15d
continued: Deprecate airflow quickstart
wslulciuc Oct 31, 2024
b7f0a64
Fix null pointer on Dataset facets (#2967)
davidsharp7 Nov 8, 2024
474f952
Docs: replace bitly links (#2973)
merobi-hub Nov 12, 2024
c101e1a
Use `-p` for `--db-port` (#2977)
wslulciuc Nov 12, 2024
d578a33
Add `pytz` (#2978)
wslulciuc Nov 12, 2024
8f43cbd
Adding job facets. (#2979)
phixMe Nov 12, 2024
1141619
encodeURIComponent namespace and name in GET (column)lineage requests…
MaartenHubrechts Nov 22, 2024
27d020b
Added CsvPath to the list of Marquez adopters. 1-line change. (#2986)
dk107dk Dec 13, 2024
f1399cc
Airflow tutorial (#2985)
merobi-hub Dec 13, 2024
9396188
make ds facets runuuid/eventtype nullable (#2974)
davidsharp7 Dec 13, 2024
5923446
Add missing `schemaURL` in seed events (#2990)
wslulciuc Dec 15, 2024
0b4db10
Fix tutorial preview card (#2989)
merobi-hub Dec 16, 2024
fb50f03
Add Chinese language (#2992)
buvb Dec 18, 2024
f119122
Fix jobs url. (#2996)
phixMe Dec 31, 2024
31e8de2
Promote v2 content in docs for deploying with GH Pages (#3013)
merobi-hub Jan 20, 2025
b7e3622
Add workflows. (#3016)
merobi-hub Jan 20, 2025
f614797
Fix workflow. (#3017)
merobi-hub Jan 20, 2025
5bbe484
Update docusaurus.config.js (#3018)
merobi-hub Jan 20, 2025
c901797
Change website url. (#3019)
merobi-hub Jan 20, 2025
b498bdb
Fix cname. (#3020)
merobi-hub Jan 21, 2025
4505b71
Rm alias from cname. (#3022)
merobi-hub Jan 22, 2025
22b71ba
Expanding GA4's capabilities to other classes and routes
jonathanpmoraes Feb 5, 2025
c511bc3
Adding more classes to GA4
jonathanpmoraes Feb 5, 2025
67300c4
Fixing Toast.tsx class
jonathanpmoraes Feb 5, 2025
7b8a425
Implementing GA in the rest of all routes
jonathanpmoraes Feb 5, 2025
76a6dde
Update dependency org.testcontainers:postgresql to v1.15.3 (#1442)
renovate[bot] Jun 23, 2021
9c847b9
remove unnecessary updates which are deadlock prone (#2531)
pawel-big-lebowski Jun 29, 2023
2ef0f6b
encodeURIComponent namespace and name in GET (column)lineage requests…
MaartenHubrechts Nov 22, 2024
ca5b383
Update dependency org.testcontainers:postgresql to v1.15.3 (#1442)
renovate[bot] Jun 23, 2021
46dc138
remove unnecessary updates which are deadlock prone (#2531)
pawel-big-lebowski Jun 29, 2023
1cac840
Add arg `--db-port` to `docker/up.sh` (#2961)
wslulciuc Oct 31, 2024
57d37c3
Usage for `--db-port` (#2965)
wslulciuc Oct 31, 2024
6b33113
Use `-p` for `--db-port` (#2977)
wslulciuc Nov 12, 2024
b2f08ee
Promote v2 content in docs for deploying with GH Pages (#3013)
merobi-hub Jan 20, 2025
15c5bc7
Add workflows. (#3016)
merobi-hub Jan 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
116 changes: 116 additions & 0 deletions .circleci/api-load-test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
#!/bin/bash
#
# Copyright 2018-2023 contributors to the Marquez project
# SPDX-License-Identifier: Apache-2.0
#
# A script used in CI to load test HTTP API server by:
# (1) Starting HTTP API server
# (2) Generating random dataset, job, and run metadata
# (3) Running load test using k6
# (4) Writing load test results to 'k6/results' for analysis
#
# Usage: $ ./api-load-test.sh

set -e

# Build version of Marquez
readonly MARQUEZ_VERSION=0.51.0-SNAPSHOT
# Fully qualified path to marquez.jar
readonly MARQUEZ_JAR="api/build/libs/marquez-api-${MARQUEZ_VERSION}.jar"

readonly MARQUEZ_HOST="localhost"
readonly MARQUEZ_ADMIN_PORT=8081
readonly MARQUEZ_URL="http://${MARQUEZ_HOST}:${MARQUEZ_ADMIN_PORT}"
readonly MARQUEZ_DB="marquez-db"
readonly POSTGRES_PORT=5432
readonly API_PORT=5000
readonly API_ADMIN_PORT=5001

readonly METADATA_FILE="api/load-testing/metadata.json"
readonly METADATA_STATS_QUERY=$(cat <<-END
SELECT run_uuid,COUNT(*)
FROM lineage_events
GROUP BY run_uuid;
END
)

# marquez.yml
cat > marquez.yml <<EOF
server:
applicationConnectors:
- type: http
port: 8080
httpCompliance: RFC7230_LEGACY
adminConnectors:
- type: http
port: 8081

db:
driverClass: org.postgresql.Driver
url: jdbc:postgresql://localhost:5432/marquez
user: marquez
password: marquez

migrateOnStartup: true
EOF

log() {
echo -e "\033[1m>>\033[0m ${1}"
}

cpu_and_mem_info() {
log "CPU info:"
cat /proc/cpuinfo
log "MEM info:"
cat /proc/meminfo
}

metadata_stats() {
# Query db for metadata stats
log "load test metadata stats:"
docker exec "${MARQUEZ_DB}" \
psql -U marquez -c "${METADATA_STATS_QUERY}"
}

# Change working directory to project root
project_root=$(git rev-parse --show-toplevel)
cd "${project_root}"

# (1) Start db
log "start db:"
docker-compose -f docker-compose.db.yml up --detach

# (2) Build HTTP API server
log "build http API server..."
./gradlew --no-daemon :api:build -x test > /dev/null 2>&1

# (3) Start HTTP API server
log "start http API server..."
mkdir marquez && \
java -jar "${MARQUEZ_JAR}" server marquez.yml > marquez/http.log 2>&1 &

# (4) Wait for HTTP API server
log "waiting for http API server (${MARQUEZ_URL})..."
until curl --output /dev/null --silent --head --fail "${MARQUEZ_URL}/ping"; do
sleep 5
done
# When available, print status
log "http API server is ready!"

# (5) Use metadata command to generate random dataset, job, and run metadata
log "generate load test metadata (${METADATA_FILE}):"
java -jar "${MARQUEZ_JAR}" metadata --jobs 100 --bytes-per-event 16384 --output "${METADATA_FILE}"

# Display CPU/MEM
cpu_and_mem_info

# (6) Run load test
log "start load test:"
mkdir -p k6/results && \
k6 run --vus 25 --duration 30s api/load-testing/http.js \
--out json=k6/results/full.json --summary-export=k6/results/summary.json

# Display metadata stats
metadata_stats

echo "DONE!"
264 changes: 264 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,264 @@
version: 2.1

# Define reusable config (see: https://yaml.org/spec/1.2/spec.html#id2765878)
checkout_project_root: &checkout_project_root
# Override checkout path to project root (see: https://circleci.com/docs/2.0/configuration-reference/#checkout)
checkout:
path: ~/marquez

# Only trigger CI job on release (=X.Y.Z)
only-on-release: &only-on-release
filters:
tags:
only: /^[0-9]+(\.[0-9]+){2}(-rc\.[0-9]+)?$/
branches:
ignore: /.*/

orbs:
codecov: codecov/codecov@3.2.3

jobs:
build-api:
working_directory: ~/marquez
machine:
image: ubuntu-2004:2023.10.1
environment:
TESTCONTAINERS_RYUK_DISABLED: true
steps:
- checkout
- restore_cache:
keys:
- v1-api-{{ .Branch }}-{{ .Revision }}
- v1-api-{{ .Branch }}
- run: ./.circleci/get-jdk17.sh
- run: echo "checks.disable=true" > ~/.testcontainers.properties
- run: ./gradlew --no-daemon --stacktrace api:javadoc
- run: ./gradlew --no-daemon --stacktrace api:build
- run: ./gradlew --no-daemon api:jacocoTestReport
- codecov/upload
- store_test_results:
path: api/build/test-results/test
- store_artifacts:
path: build/reports/tests/test
destination: test-report
- save_cache:
key: v1-api-{{ .Branch }}-{{ .Revision }}
paths:
- ~/.gradle

build-image-api:
working_directory: ~/marquez
machine:
image: ubuntu-2004:2023.10.1
steps:
- checkout
- run: docker build --no-cache --tag "marquezproject/marquez:${CIRCLE_SHA1}" .
- run: docker save -o marquez.tar "marquezproject/marquez:${CIRCLE_SHA1}"
- store_artifacts:
path: marquez.tar

build-image-web:
working_directory: ~/marquez/web
machine:
image: ubuntu-2004:2023.10.1
steps:
- *checkout_project_root
- run: docker build --no-cache --tag "marquezproject/marquez-web:${CIRCLE_SHA1}" .
- run: docker save -o marquez-web.tar "marquezproject/marquez-web:${CIRCLE_SHA1}"
- store_artifacts:
path: marquez-web.tar

unit-test-web:
working_directory: ~/marquez/web
docker:
- image: cimg/node:22.9.0
resource_class: large
environment:
TZ: 'America/New_York'
steps:
- *checkout_project_root
- restore_cache:
keys:
- v1-web-{{ .Branch }}-{{ .Revision }}
- v1-web-{{ .Branch }}
- run: npm install
- run: npm run test
- run: npm run eslint-fix
- run: npm run build
- save_cache:
paths:
- node_modules
key: v1-web-{{ .Branch }}-{{ .Revision }}

build-client-java:
working_directory: ~/marquez
machine:
image: ubuntu-2004:2023.10.1
steps:
- checkout
- restore_cache:
keys:
- v1-client-java-{{ .Branch }}-{{ .Revision }}
- v1-client-java-{{ .Branch }}
- run: ./.circleci/get-jdk17.sh
- run: ./gradlew --no-daemon --stacktrace clients:java:javadoc
- run: ./gradlew --no-daemon --stacktrace clients:java:build
- run: ./gradlew --no-daemon clients:java:jacocoTestReport
- codecov/upload
- store_test_results:
path: clients/java/build/test-results/test
- store_artifacts:
path: build/reports/tests/test
destination: test-report
- save_cache:
key: v1-client-java-{{ .Branch }}-{{ .Revision }}
paths:
- ~/.gradle

unit-test-client-python:
working_directory: ~/marquez/clients/python
docker:
- image: circleci/python:3.6
steps:
- *checkout_project_root
- run: pip install -e .[dev]
- run: flake8
- run: pytest --cov=marquez_python tests/
- codecov/upload

build-client-python:
working_directory: ~/marquez/clients/python
docker:
- image: circleci/python:3.6
steps:
- *checkout_project_root
- run: python setup.py sdist bdist_wheel
- persist_to_workspace:
root: .
paths:
- ./dist/*.whl
- ./dist/*.tar.gz

lint-spec-api:
working_directory: ~/marquez
docker:
- image: cimg/node:12.22.7
steps:
- checkout
- run: npm install --prefix=${HOME}/.local --global redoc-cli
- run: redoc-cli bundle spec/openapi.yml

load-test-api:
working_directory: ~/marquez
machine:
image: ubuntu-2004:2023.10.1
steps:
- checkout
- run: ./.circleci/get-docker-compose.sh
- run: ./.circleci/get-jdk17.sh
- run: ./.circleci/get-k6.sh
- run: ./.circleci/api-load-test.sh
- store_artifacts:
path: marquez
- store_artifacts:
path: k6
environment:
- POSTGRES_PORT=5432

migrate-db:
working_directory: ~/marquez
machine:
image: ubuntu-2004:2023.10.1
resource_class: large
steps:
- checkout
- run: ./.circleci/get-docker-compose.sh
- run: ./.circleci/db-migration.sh
environment:
- POSTGRES_PORT=5432
- API_PORT=5000
- API_ADMIN_PORT=5001

publish-snapshot:
working_directory: ~/marquez
machine:
image: ubuntu-2004:2023.10.1
steps:
- checkout
- run: ./.circleci/get-jdk17.sh
- run: ./.circleci/publish.sh # *SNAPSHOT.jar

release-java:
working_directory: ~/marquez
machine:
image: ubuntu-2004:2023.10.1
steps:
- checkout
- run: ./.circleci/get-jdk17.sh
- run: ./.circleci/publish.sh # *.jar

release-python:
working_directory: ~/marquez
docker:
- image: circleci/python:3.6
steps:
- checkout
- attach_workspace:
at: .
- run: pip install wheel twine
- run: python -m twine upload --non-interactive --verbose --repository pypi dist/*

release-docker:
working_directory: ~/marquez
machine:
image: ubuntu-2004:2023.10.1
steps:
- checkout
- run: ./docker/login.sh
- run: ./docker/build-and-push.sh $CIRCLE_TAG

workflows:
marquez:
jobs:
- build-api
- build-image-api:
requires:
- build-api
- build-image-web:
requires:
- unit-test-web
- build-client-java
- unit-test-web
- unit-test-client-python
- lint-spec-api
- load-test-api:
requires:
- build-api
- migrate-db:
requires:
- build-api
- publish-snapshot:
filters:
branches:
only: main
context: release
requires:
- build-image-api
- load-test-api
- migrate-db

release:
jobs:
- build-client-python:
<<: *only-on-release
- release-java:
<<: *only-on-release
context: release
- release-python:
<<: *only-on-release
context: release
requires:
- build-client-python
- release-docker:
<<: *only-on-release
context: release
Loading