Skip to content

Commit 5cd86a4

Browse files
authored
Merge pull request #1 from DataDog/jordan.gonzalez/add-benchmark-dockerfile
chore: add benchmark `Dockerfile`
2 parents 6c2a440 + fadac8b commit 5cd86a4

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

scripts/Dockerfile.benchmark

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
FROM ubuntu:latest as builder
2+
ARG ARCH
3+
4+
# make the args mandatory
5+
RUN : "${ARCH:?ARCH needs to be provided}"
6+
7+
RUN apt-get update && \
8+
apt-get install -y zip curl
9+
10+
# Copy current branch tracer build
11+
COPY /tracer-build /datadog
12+
13+
WORKDIR /opt
14+
15+
# remove some useless files in a serverless context to keep the package as small as possible
16+
RUN rm datadog/createLogPath.sh && \
17+
rm datadog/*.so && \
18+
rm datadog/loader.conf && \
19+
rm datadog/**/loader.conf && \
20+
rm datadog/**/libddwaf.so && \
21+
rm datadog/**/Datadog.Trace.ClrProfiler.Native.so && \
22+
rm datadog/**/Datadog.Linux.ApiWrapper.x64.so && \
23+
rm datadog/**/Datadog.Profiler.Native.so && \
24+
rm datadog/**/Datadog.Trace.MSBuild.* && \
25+
rm datadog/**/*.pdb && \
26+
rm datadog/**/*.xml && \
27+
rm datadog/dd-dotnet.sh && \
28+
rm datadog/**/dd-dotnet && \
29+
rm -rf datadog/netstandard2.0 && \
30+
rm -rf datadog/netcoreapp3.1 && \
31+
rm -rf datadog/continuousprofiler
32+
33+
# HACK: rename the tracer library so the logic in datadog_wrapper keeps working
34+
# See also https://github.com/DataDog/datadog-lambda-extension/pull/150
35+
RUN if [ -f datadog/linux-x64/Datadog.Tracer.Native.so ]; then mv datadog/linux-x64/Datadog.Tracer.Native.so datadog/linux-x64/Datadog.Trace.ClrProfiler.Native.so; fi
36+
RUN if [ -f datadog/linux-arm64/Datadog.Tracer.Native.so ]; then mv datadog/linux-arm64/Datadog.Tracer.Native.so datadog/linux-arm64/Datadog.Trace.ClrProfiler.Native.so; fi
37+
38+
# zip the layer
39+
RUN mkdir /datadog
40+
RUN zip -r -9 /datadog/dd_trace_dotnet.zip datadog
41+
42+
# keep the smallest possible docker image
43+
FROM scratch
44+
COPY --from=builder /datadog/dd_trace_dotnet.zip /
45+
ENTRYPOINT ["/dd_trace_dotnet.zip"]

scripts/build_layer.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ if [ ! -z "$SANDBOX" ]; then
2929
DOCKERFILE="./scripts/Dockerfile.sandbox"
3030
fi
3131

32+
if [ ! -z "$BENCHMARK" ]; then
33+
DOCKERFILE="./scripts/Dockerfile.benchmark"
34+
fi
35+
3236
# Build the image
3337
function docker_build_zip {
3438
arch=$1

0 commit comments

Comments
 (0)