-
Notifications
You must be signed in to change notification settings - Fork 412
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into munir/fix-span-link-flags-dt
- Loading branch information
Showing
199 changed files
with
10,077 additions
and
2,636 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
Validating CODEOWNERS rules …
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -21,7 +21,7 @@ jobs: | |
include: | ||
- os: ubuntu-latest | ||
archs: x86_64 i686 | ||
- os: ubuntu-latest | ||
- os: arm-4core-linux | ||
archs: aarch64 | ||
- os: windows-latest | ||
archs: AMD64 x86 | ||
|
@@ -34,17 +34,63 @@ jobs: | |
fetch-depth: 0 | ||
|
||
- uses: actions/setup-python@v4 | ||
if: matrix.os != 'arm-4core-linux' | ||
name: Install Python | ||
with: | ||
python-version: '3.8' | ||
|
||
- name: Install docker and pipx | ||
if: matrix.os == 'arm-4core-linux' | ||
# The ARM64 Ubuntu has less things installed by default | ||
# We need docker, pip and venv for cibuildwheel | ||
# acl allows us to use docker in the same session | ||
run: | | ||
curl -fsSL https://get.docker.com -o get-docker.sh | ||
sudo sh get-docker.sh | ||
sudo usermod -a -G docker $USER | ||
sudo apt install -y acl python3.10-venv python3-pip | ||
sudo setfacl --modify user:runner:rw /var/run/docker.sock | ||
python3 -m pip install pipx | ||
- name: Set up QEMU | ||
if: runner.os == 'Linux' | ||
if: runner.os == 'Linux' && matrix.os != 'arm-4core-linux' | ||
uses: docker/setup-qemu-action@v2 | ||
with: | ||
platforms: all | ||
|
||
- name: Build wheels arm64 | ||
if: matrix.os == 'arm-4core-linux' | ||
run: /home/runner/.local/bin/pipx run cibuildwheel==2.16.5 --platform linux | ||
env: | ||
# configure cibuildwheel to build native archs ('auto'), and some | ||
# emulated ones | ||
CIBW_ARCHS: ${{ matrix.archs }} | ||
CIBW_BUILD: ${{ inputs.cibw_build }} | ||
CIBW_SKIP: ${{ inputs.cibw_skip }} | ||
CIBW_PRERELEASE_PYTHONS: ${{ inputs.cibw_prerelease_pythons }} | ||
CMAKE_BUILD_PARALLEL_LEVEL: 12 | ||
CIBW_REPAIR_WHEEL_COMMAND_LINUX: | | ||
mkdir ./tempwheelhouse && | ||
unzip -l {wheel} | grep '\.so' && | ||
auditwheel repair -w ./tempwheelhouse {wheel} && | ||
(yum install -y zip || apk add zip) && | ||
for w in ./tempwheelhouse/*.whl; do | ||
zip -d $w \*.c \*.cpp \*.cc \*.h \*.hpp \*.pyx | ||
mv $w {dest_dir} | ||
done && | ||
rm -rf ./tempwheelhouse | ||
CIBW_REPAIR_WHEEL_COMMAND_MACOS: | | ||
zip -d {wheel} \*.c \*.cpp \*.cc \*.h \*.hpp \*.pyx && | ||
delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel} | ||
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: | ||
choco install -y 7zip && | ||
7z d -r "{wheel}" *.c *.cpp *.cc *.h *.hpp *.pyx && | ||
move "{wheel}" "{dest_dir}" | ||
# DEV: Uncomment to debug MacOS | ||
# CIBW_BUILD_VERBOSITY_MACOS: 3 | ||
|
||
- name: Build wheels | ||
if: matrix.os != 'arm-4core-linux' | ||
uses: pypa/[email protected] | ||
env: | ||
# configure cibuildwheel to build native archs ('auto'), and some | ||
|
@@ -73,6 +119,7 @@ jobs: | |
move "{wheel}" "{dest_dir}" | ||
# DEV: Uncomment to debug MacOS | ||
# CIBW_BUILD_VERBOSITY_MACOS: 3 | ||
|
||
- uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./wheelhouse/*.whl |
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
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,13 @@ | ||
experiments: | ||
- name: run-microbenchmarks | ||
setup: | ||
- name: datadog-agent | ||
run: datadog_agent | ||
cpus: 24-25 | ||
config_sh: ./steps/update-dd-agent-config.sh | ||
|
||
steps: | ||
- name: benchmarks | ||
cpus: 26-47 | ||
run: shell | ||
script: export SCENARIO=$BP_SCENARIO && ./steps/run-benchmarks.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,86 @@ | ||
variables: | ||
BASE_CI_IMAGE: 486234852809.dkr.ecr.us-east-1.amazonaws.com/ci/benchmarking-platform:dd-trace-py-macrobenchmarks | ||
|
||
.macrobenchmarks: | ||
stage: macrobenchmarks | ||
needs: [] | ||
tags: ["runner:apm-k8s-same-cpu"] | ||
timeout: 1h | ||
rules: | ||
- if: $CI_PIPELINE_SOURCE == "schedule" | ||
when: always | ||
- when: manual | ||
## Next step, enable: | ||
# - if: $CI_COMMIT_REF_NAME == "main" | ||
# when: always | ||
# If you have a problem with Gitlab cache, see Troubleshooting section in Benchmarking Platform docs | ||
image: $BENCHMARKS_CI_IMAGE | ||
script: | | ||
git clone --branch python/macrobenchmarks https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.ddbuild.io/DataDog/benchmarking-platform platform && cd platform | ||
if [ "$BP_PYTHON_SCENARIO_DIR" == "flask-realworld" ]; then | ||
bp-runner bp-runner.flask-realworld.yml --debug | ||
else | ||
bp-runner bp-runner.simple.yml --debug | ||
fi | ||
artifacts: | ||
name: "artifacts" | ||
when: always | ||
paths: | ||
- platform/artifacts/ | ||
expire_in: 3 months | ||
variables: | ||
# Benchmark's env variables. Modify to tweak benchmark parameters. | ||
DD_TRACE_DEBUG: "false" | ||
DD_RUNTIME_METRICS_ENABLED: "true" | ||
DD_REMOTE_CONFIGURATION_ENABLED: "false" | ||
DD_INSTRUMENTATION_TELEMETRY_ENABLED: "false" | ||
|
||
K6_OPTIONS_NORMAL_OPERATION_RATE: 40 | ||
K6_OPTIONS_NORMAL_OPERATION_DURATION: 5m | ||
K6_OPTIONS_NORMAL_OPERATION_GRACEFUL_STOP: 1m | ||
K6_OPTIONS_NORMAL_OPERATION_PRE_ALLOCATED_VUS: 4 | ||
K6_OPTIONS_NORMAL_OPERATION_MAX_VUS: 4 | ||
|
||
K6_OPTIONS_HIGH_LOAD_RATE: 500 | ||
K6_OPTIONS_HIGH_LOAD_DURATION: 1m | ||
K6_OPTIONS_HIGH_LOAD_GRACEFUL_STOP: 30s | ||
K6_OPTIONS_HIGH_LOAD_PRE_ALLOCATED_VUS: 4 | ||
K6_OPTIONS_HIGH_LOAD_MAX_VUS: 4 | ||
|
||
# Gitlab and BP specific env vars. Do not modify. | ||
FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY: "true" | ||
|
||
# Workaround: Currently we're not running the benchmarks on every PR, but GitHub still shows them as pending. | ||
# By marking the benchmarks as allow_failure, this should go away. (This workaround should be removed once the | ||
# benchmarks get changed to run on every PR) | ||
allow_failure: true | ||
|
||
macrobenchmarks: | ||
extends: .macrobenchmarks | ||
parallel: | ||
matrix: | ||
- DD_BENCHMARKS_CONFIGURATION: baseline | ||
BP_PYTHON_SCENARIO_DIR: flask-realworld | ||
DDTRACE_INSTALL_VERSION: "git+https://github.com/Datadog/dd-trace-py@${CI_COMMIT_SHA}" | ||
|
||
- DD_BENCHMARKS_CONFIGURATION: only-tracing | ||
BP_PYTHON_SCENARIO_DIR: flask-realworld | ||
DDTRACE_INSTALL_VERSION: "git+https://github.com/Datadog/dd-trace-py@${CI_COMMIT_SHA}" | ||
|
||
- DD_BENCHMARKS_CONFIGURATION: only-tracing | ||
BP_PYTHON_SCENARIO_DIR: flask-realworld | ||
DDTRACE_INSTALL_VERSION: "git+https://github.com/Datadog/dd-trace-py@${CI_COMMIT_SHA}" | ||
DD_REMOTE_CONFIGURATION_ENABLED: "false" | ||
DD_INSTRUMENTATION_TELEMETRY_ENABLED: "true" | ||
|
||
- DD_BENCHMARKS_CONFIGURATION: only-tracing | ||
BP_PYTHON_SCENARIO_DIR: flask-realworld | ||
DDTRACE_INSTALL_VERSION: "git+https://github.com/Datadog/dd-trace-py@${CI_COMMIT_SHA}" | ||
DD_REMOTE_CONFIGURATION_ENABLED: "false" | ||
DD_INSTRUMENTATION_TELEMETRY_ENABLED: "false" | ||
|
||
- DD_BENCHMARKS_CONFIGURATION: only-tracing | ||
BP_PYTHON_SCENARIO_DIR: flask-realworld | ||
DDTRACE_INSTALL_VERSION: "git+https://github.com/Datadog/dd-trace-py@${CI_COMMIT_SHA}" | ||
DD_REMOTE_CONFIGURATION_ENABLED: "true" | ||
DD_INSTRUMENTATION_TELEMETRY_ENABLED: "true" |
Oops, something went wrong.