forked from airbytehq/airbyte
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Source connector performance harness (airbytehq#23786)
* remove arguments * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * test * Source Performance harness (airbytehq#23922) * test * initial commit * Working dev * src-platform-dst * Integrate secrets * Update .dockerignore * Update build.gradle * Update base.sh * Build harness module and use it to measure * Build harness module and use it to measure * Build harness module and use it to measure * Automated Change * Integrate secrets * Integrate secrets * Integrate secrets * Integrate secrets * test * test * test * test * test * test * test * test * test * test * test * test * test * test * Automated Change * test * Automated Change * better error handling * temp * Automated Change * use connector image name * use connector image name * use connector image name * use connector image name * use connector image name * use connector image name * use connector image name * use connector image name * add test name argument * add test name argument * add test name argument * add test name argument * add test name argument * add test name argument * Automated Change * add bottleneck_stream1 dataset * Automated Change * fix dependency * fix dependency * test downgrade of commons to 41.1 * Automated Change * test downgrade of commons to 41.0 * test * test * test * test * test * exit condition * exit condition * exit condition * test * test * test * test * test * test * sanity * readme * change command name * update gradle settings * sanity * architecture aware docker build * sanity * put run harness step in a script * sanity * sanity --------- Co-authored-by: rodireich <rodireich@users.noreply.github.com>
- Loading branch information
Showing
18 changed files
with
1,185 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 4 additions & 0 deletions
4
airbyte-integrations/connectors-performance/source-harness/.dockerignore
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
* | ||
!Dockerfile | ||
!build | ||
!base.sh |
26 changes: 26 additions & 0 deletions
26
airbyte-integrations/connectors-performance/source-harness/Dockerfile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
FROM airbyte/integration-base-java:dev AS build | ||
WORKDIR /airbyte | ||
|
||
ENV APPLICATION source-harness | ||
|
||
COPY build/distributions/${APPLICATION}*.tar ${APPLICATION}.tar | ||
|
||
RUN tar xf ${APPLICATION}.tar --strip-components=1 && rm -rf ${APPLICATION}.tar | ||
|
||
FROM airbyte/integration-base-java:dev | ||
ARG TARGETARCH | ||
WORKDIR /airbyte | ||
|
||
ENV APPLICATION source-harness | ||
# Kubectl and socat are needed in order to create a pod similar to cloud orchestrator | ||
# It brings up in cluster the source pod to measure, and communicates over socat | ||
RUN curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.25.6/2023-01-30/bin/linux/${TARGETARCH}/kubectl | ||
RUN chmod +x ./kubectl | ||
RUN mv ./kubectl /bin/ | ||
RUN yum install -y socat && yum clean all | ||
|
||
COPY --from=build /airbyte /airbyte | ||
COPY base.sh . | ||
|
||
LABEL io.airbyte.version=0.1 | ||
LABEL io.airbyte.name=airbyte/source-harness |
6 changes: 6 additions & 0 deletions
6
airbyte-integrations/connectors-performance/source-harness/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# source-harness | ||
|
||
Performance harness for source connectors | ||
|
||
This component is used by the `/connector-performance` github action and is used in order to test throughput of | ||
source connectors on a number of datasets. |
20 changes: 20 additions & 0 deletions
20
airbyte-integrations/connectors-performance/source-harness/base.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -e | ||
|
||
function echo2() { | ||
echo >&2 "$@" | ||
} | ||
|
||
function error() { | ||
echo2 "$@" | ||
exit 1 | ||
} | ||
|
||
# todo: make it easy to select source or destination and validate based on selection by adding an integration type env variable. | ||
function main() { | ||
nohup bash -c "socat tcp-listen:9000,reuseaddr,fork \"exec:printf \'HTTP/1.0 200 OK\r\n\r\n\'\" &"; | ||
cat <&0 | /airbyte/bin/"$APPLICATION" "$@" | ||
} | ||
|
||
main "$@" |
25 changes: 25 additions & 0 deletions
25
airbyte-integrations/connectors-performance/source-harness/build.gradle
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
plugins { | ||
id 'application' | ||
id 'airbyte-docker' | ||
} | ||
|
||
repositories { | ||
maven { | ||
url 'https://airbyte.mycloudrepo.io/public/repositories/airbyte-public-jars/' | ||
} | ||
} | ||
|
||
application { | ||
mainClass = 'io.airbyte.integrations.performance.Main' | ||
applicationDefaultJvmArgs = ['-XX:+ExitOnOutOfMemoryError', '-XX:MaxRAMPercentage=75.0'] | ||
} | ||
dependencies { | ||
implementation project(':airbyte-db:db-lib') | ||
implementation project(':airbyte-integrations:bases:base-java') | ||
implementation libs.airbyte.protocol | ||
implementation 'io.fabric8:kubernetes-client:5.12.2' | ||
implementation 'org.apache.commons:commons-lang3:3.11' | ||
implementation files(project(':airbyte-integrations:bases:base-java').airbyteDocker.outputs) | ||
implementation 'io.airbyte:airbyte-commons-worker:0.42.0' | ||
implementation 'io.airbyte.airbyte-config:config-models:0.42.0' | ||
} |
Oops, something went wrong.