Upgrade OpenTelemetry to v1.11.0 and gRPC to v1.57.0 (#10352)
* Upgrade OpenTelemetry to v1.11.0 and gRPC to v1.57 * upgrade module
This commit is contained in:
parent
c3a28ab45d
commit
02236ca965
3 changed files with 67 additions and 30 deletions
|
@ -25,6 +25,7 @@ set(CMAKE_CXX_STANDARD 17)
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set(CMAKE_CXX_FLAGS "-O2")
|
set(CMAKE_CXX_FLAGS "-O2")
|
||||||
|
set(CMAKE_VERBOSE_MAKEFILE ON CACHE BOOL "ON" FORCE)
|
||||||
|
|
||||||
set(CMAKE_BUILD_TYPE
|
set(CMAKE_BUILD_TYPE
|
||||||
Release
|
Release
|
||||||
|
@ -82,12 +83,18 @@ ExternalProject_Add(
|
||||||
-DgRPC_BUILD_TESTS=OFF
|
-DgRPC_BUILD_TESTS=OFF
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
-DgRPC_INSTALL=ON
|
-DgRPC_INSTALL=ON
|
||||||
|
-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF
|
||||||
|
-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF
|
||||||
|
-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF
|
||||||
|
-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF
|
||||||
|
-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF
|
||||||
CMAKE_CACHE_ARGS -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
|
CMAKE_CACHE_ARGS -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
|
||||||
TEST_AFTER_INSTALL 0
|
TEST_AFTER_INSTALL FALSE
|
||||||
DOWNLOAD_NO_PROGRESS 1
|
USES_TERMINAL_BUILD TRUE
|
||||||
LOG_CONFIGURE 1
|
DOWNLOAD_NO_PROGRESS TRUE
|
||||||
LOG_BUILD 0
|
LOG_CONFIGURE TRUE
|
||||||
LOG_INSTALL 1)
|
LOG_BUILD TRUE
|
||||||
|
LOG_INSTALL TRUE)
|
||||||
|
|
||||||
install(
|
install(
|
||||||
DIRECTORY ${STAGED_INSTALL_PREFIX}/
|
DIRECTORY ${STAGED_INSTALL_PREFIX}/
|
||||||
|
|
|
@ -21,19 +21,24 @@ COPY . /opt/third_party/
|
||||||
# install build tools
|
# install build tools
|
||||||
RUN apk update \
|
RUN apk update \
|
||||||
&& apk upgrade \
|
&& apk upgrade \
|
||||||
&& apk add -U bash cmake ninja \
|
&& apk add -U bash \
|
||||||
&& bash /opt/third_party/build.sh -p
|
&& bash /opt/third_party/build.sh -p
|
||||||
|
|
||||||
ENV NINJA_STATUS "[%p/%f/%t]"
|
ENV NINJA_STATUS "[%p/%f/%t] "
|
||||||
|
|
||||||
# install gRPC
|
# install gRPC
|
||||||
FROM base as grpc
|
FROM base as grpc
|
||||||
RUN bash /opt/third_party/build.sh -g v1.49.2
|
RUN bash /opt/third_party/build.sh -g v1.57.0
|
||||||
|
|
||||||
|
# install abseil-cpp
|
||||||
|
FROM base as absl-cpp
|
||||||
|
RUN bash /opt/third_party/build.sh -a 20230802.0
|
||||||
|
|
||||||
# install OpenTelemetry-cpp
|
# install OpenTelemetry-cpp
|
||||||
FROM base as otel-cpp
|
FROM base as otel-cpp
|
||||||
COPY --from=grpc /opt/third_party/install/ /usr
|
COPY --from=grpc /opt/third_party/install/ /usr
|
||||||
RUN bash /opt/third_party/build.sh -o v1.8.1
|
COPY --from=absl-cpp /opt/third_party/install/ /usr
|
||||||
|
RUN bash /opt/third_party/build.sh -o v1.11.0
|
||||||
|
|
||||||
# install otel_ngx_module.so
|
# install otel_ngx_module.so
|
||||||
FROM base as nginx
|
FROM base as nginx
|
||||||
|
@ -52,6 +57,5 @@ RUN CGO_ENABLED=0 go build -o /go/bin/init_module
|
||||||
FROM cgr.dev/chainguard/static as final
|
FROM cgr.dev/chainguard/static as final
|
||||||
COPY --from=build-init /go/bin/init_module /
|
COPY --from=build-init /go/bin/init_module /
|
||||||
COPY --from=nginx /etc/nginx/modules /etc/nginx/modules
|
COPY --from=nginx /etc/nginx/modules /etc/nginx/modules
|
||||||
COPY --from=nginx /opt/third_party/install/lib /etc/nginx/modules
|
|
||||||
|
|
||||||
CMD ["/init_module"]
|
CMD ["/init_module"]
|
||||||
|
|
|
@ -21,6 +21,7 @@ set -o pipefail
|
||||||
export GRPC_GIT_TAG=${GRPC_GIT_TAG:="v1.43.2"}
|
export GRPC_GIT_TAG=${GRPC_GIT_TAG:="v1.43.2"}
|
||||||
# Check for recent changes: https://github.com/open-telemetry/opentelemetry-cpp/compare/v1.2.0...main
|
# Check for recent changes: https://github.com/open-telemetry/opentelemetry-cpp/compare/v1.2.0...main
|
||||||
export OPENTELEMETRY_CPP_VERSION=${OPENTELEMETRY_CPP_VERSION:="1.2.0"}
|
export OPENTELEMETRY_CPP_VERSION=${OPENTELEMETRY_CPP_VERSION:="1.2.0"}
|
||||||
|
export ABSL_CPP_VERSION=${ABSL_CPP_VERSION:="20230802.0"}
|
||||||
export INSTAL_DIR=/opt/third_party/install
|
export INSTAL_DIR=/opt/third_party/install
|
||||||
# improve compilation times
|
# improve compilation times
|
||||||
CORES=$(($(grep -c ^processor /proc/cpuinfo) - 1))
|
CORES=$(($(grep -c ^processor /proc/cpuinfo) - 1))
|
||||||
|
@ -54,6 +55,8 @@ prepare()
|
||||||
{
|
{
|
||||||
apk add \
|
apk add \
|
||||||
linux-headers \
|
linux-headers \
|
||||||
|
cmake \
|
||||||
|
ninja \
|
||||||
openssl \
|
openssl \
|
||||||
curl-dev \
|
curl-dev \
|
||||||
openssl-dev \
|
openssl-dev \
|
||||||
|
@ -71,14 +74,32 @@ install_grpc()
|
||||||
cd ${BUILD_PATH}/grpc
|
cd ${BUILD_PATH}/grpc
|
||||||
cmake -DCMAKE_INSTALL_PREFIX=${INSTAL_DIR} \
|
cmake -DCMAKE_INSTALL_PREFIX=${INSTAL_DIR} \
|
||||||
-G Ninja \
|
-G Ninja \
|
||||||
-DGRPC_GIT_TAG=${GRPC_GIT_TAG} /opt/third_party \
|
-DGRPC_GIT_TAG=${GRPC_GIT_TAG} /opt/third_party
|
||||||
-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF \
|
|
||||||
-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF \
|
cmake --build . -j ${CORES} --target all install --verbose
|
||||||
-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \
|
}
|
||||||
-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF \
|
|
||||||
-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF \
|
install_absl()
|
||||||
-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF
|
{
|
||||||
cmake --build . -j ${CORES} --target all install
|
cd ${BUILD_PATH}
|
||||||
|
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH:+LD_LIBRARY_PATH:}${INSTAL_DIR}/lib:/usr/local"
|
||||||
|
export PATH="${PATH}:${INSTAL_DIR}/bin"
|
||||||
|
git clone --recurse-submodules -j ${CORES} --depth=1 -b \
|
||||||
|
${ABSL_CPP_VERSION} https://github.com/abseil/abseil-cpp.git abseil-cpp-${ABSL_CPP_VERSION}
|
||||||
|
cd "abseil-cpp-${ABSL_CPP_VERSION}"
|
||||||
|
mkdir -p .build
|
||||||
|
cd .build
|
||||||
|
|
||||||
|
cmake -DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-G Ninja \
|
||||||
|
-DCMAKE_CXX_STANDARD=17 \
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
|
||||||
|
-DBUILD_TESTING=OFF \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=${INSTAL_DIR} \
|
||||||
|
-DABSL_PROPAGATE_CXX_STD=ON \
|
||||||
|
-DBUILD_SHARED_LIBS=OFF \
|
||||||
|
..
|
||||||
|
cmake --build . -j ${CORES} --target install
|
||||||
}
|
}
|
||||||
|
|
||||||
install_otel()
|
install_otel()
|
||||||
|
@ -94,17 +115,19 @@ install_otel()
|
||||||
|
|
||||||
cmake -DCMAKE_BUILD_TYPE=Release \
|
cmake -DCMAKE_BUILD_TYPE=Release \
|
||||||
-G Ninja \
|
-G Ninja \
|
||||||
|
-DCMAKE_CXX_STANDARD=17 \
|
||||||
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
|
-DCMAKE_POSITION_INDEPENDENT_CODE=TRUE \
|
||||||
-DWITH_ZIPKIN=OFF \
|
-DWITH_ZIPKIN=OFF \
|
||||||
-DWITH_JAEGER=OFF \
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${INSTAL_DIR} \
|
-DCMAKE_INSTALL_PREFIX=${INSTAL_DIR} \
|
||||||
-DBUILD_TESTING=OFF \
|
-DBUILD_TESTING=OFF \
|
||||||
|
-DWITH_BENCHMARK=OFF \
|
||||||
|
-DWITH_FUNC_TESTS=OFF \
|
||||||
-DBUILD_SHARED_LIBS=OFF \
|
-DBUILD_SHARED_LIBS=OFF \
|
||||||
-DWITH_OTLP=ON \
|
|
||||||
-DWITH_OTLP_GRPC=ON \
|
-DWITH_OTLP_GRPC=ON \
|
||||||
-DWITH_OTLP_HTTP=OFF \
|
-DWITH_OTLP_HTTP=OFF \
|
||||||
-DWITH_ABSEIL=OFF \
|
-DWITH_ABSEIL=ON \
|
||||||
-DWITH_EXAMPLES=OFF \
|
-DWITH_EXAMPLES=OFF \
|
||||||
|
-DWITH_NO_DEPRECATED_CODE=ON \
|
||||||
..
|
..
|
||||||
cmake --build . -j ${CORES} --target install
|
cmake --build . -j ${CORES} --target install
|
||||||
}
|
}
|
||||||
|
@ -128,7 +151,7 @@ install_nginx()
|
||||||
export NGINX_VERSION=1.21.6
|
export NGINX_VERSION=1.21.6
|
||||||
|
|
||||||
# Check for recent changes: https://github.com/open-telemetry/opentelemetry-cpp-contrib/compare/2656a4...main
|
# Check for recent changes: https://github.com/open-telemetry/opentelemetry-cpp-contrib/compare/2656a4...main
|
||||||
export OPENTELEMETRY_CONTRIB_COMMIT=1ec94c82095bab61f06c7393b6f3272469d285af
|
export OPENTELEMETRY_CONTRIB_COMMIT=aaa51e2297bcb34297f3c7aa44fa790497d2f7f3
|
||||||
|
|
||||||
mkdir -p /etc/nginx
|
mkdir -p /etc/nginx
|
||||||
cd "$BUILD_PATH"
|
cd "$BUILD_PATH"
|
||||||
|
@ -145,20 +168,19 @@ install_nginx()
|
||||||
mkdir -p build
|
mkdir -p build
|
||||||
cd build
|
cd build
|
||||||
cmake -DCMAKE_BUILD_TYPE=Release \
|
cmake -DCMAKE_BUILD_TYPE=Release \
|
||||||
-G Ninja \
|
-G Ninja \
|
||||||
-DCMAKE_INSTALL_PREFIX=${INSTAL_DIR} \
|
-DCMAKE_CXX_STANDARD=17 \
|
||||||
-DBUILD_SHARED_LIBS=ON \
|
-DCMAKE_INSTALL_PREFIX=${INSTAL_DIR} \
|
||||||
-DNGINX_VERSION=${NGINX_VERSION} \
|
-DBUILD_SHARED_LIBS=ON \
|
||||||
..
|
-DNGINX_VERSION=${NGINX_VERSION} \
|
||||||
|
..
|
||||||
cmake --build . -j ${CORES} --target install
|
cmake --build . -j ${CORES} --target install
|
||||||
|
|
||||||
mkdir -p /etc/nginx/modules
|
mkdir -p /etc/nginx/modules
|
||||||
cp ${INSTAL_DIR}/otel_ngx_module.so /etc/nginx/modules/otel_ngx_module.so
|
cp ${INSTAL_DIR}/otel_ngx_module.so /etc/nginx/modules/otel_ngx_module.so
|
||||||
|
|
||||||
mkdir -p ${INSTAL_DIR}/lib
|
|
||||||
}
|
}
|
||||||
|
|
||||||
while getopts ":hpng:o:" option; do
|
while getopts ":pha:g:o:n" option; do
|
||||||
case $option in
|
case $option in
|
||||||
h) # display Help
|
h) # display Help
|
||||||
Help
|
Help
|
||||||
|
@ -177,6 +199,10 @@ while getopts ":hpng:o:" option; do
|
||||||
n) # install nginx
|
n) # install nginx
|
||||||
install_nginx
|
install_nginx
|
||||||
exit;;
|
exit;;
|
||||||
|
a) # install abseil
|
||||||
|
ABSL_CPP_VERSION=${OPTARG}
|
||||||
|
install_absl
|
||||||
|
exit;;
|
||||||
\?)
|
\?)
|
||||||
Help
|
Help
|
||||||
exit;;
|
exit;;
|
||||||
|
|
Loading…
Reference in a new issue