mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 13:27:09 +02:00
testing/opentelemetry-cpp: enable on s390x
This commit is contained in:
parent
486d6d595d
commit
c4fe3a39f7
@ -6,7 +6,7 @@ pkgrel=0
|
||||
_opentelemetryproto_ver=1.7.0
|
||||
pkgdesc="OpenTelemetry C++"
|
||||
url="https://opentelemetry.io/"
|
||||
arch="all !s390x" # failing test (TraceIdRatioBasedSampler.ShouldSampleWithoutContext)
|
||||
arch="all"
|
||||
license="Apache-2.0"
|
||||
depends_dev="
|
||||
$pkgname=$pkgver-r$pkgrel
|
||||
@ -40,6 +40,7 @@ subpackages="
|
||||
source="
|
||||
https://github.com/open-telemetry/opentelemetry-cpp/archive/v$pkgver/opentelemetry-cpp-v$pkgver.tar.gz
|
||||
opentelemetry-proto-$_opentelemetryproto_ver.tar.gz::https://github.com/open-telemetry/opentelemetry-proto/archive/refs/tags/v$_opentelemetryproto_ver.tar.gz
|
||||
s390x-endianness.patch
|
||||
"
|
||||
|
||||
build() {
|
||||
@ -96,4 +97,5 @@ zipkin() {
|
||||
sha512sums="
|
||||
a85869d2858f350e4a3b85e5d68e669a5fff42a2222ba7782bba92f5fe6856a110b3ddc9744a6c3e68c1ddfdc7bdb2b570bbeff78275a4e98cea889a8fda0120 opentelemetry-cpp-v1.22.0.tar.gz
|
||||
488ebeab036c4d202ff40a3c21fdbb6f0ab58338e680240d47ae439d5975da3ff31114325a10c8ca18d3034ed15b1b86454d853405c460891c202e3b4b8c000e opentelemetry-proto-1.7.0.tar.gz
|
||||
f98157b0f111e0da51b67b930687ae4fe54af2c31d682729651a31c70661837495a4f6b71f28a0eaa75e6b4ac6e2000ef9379f79a50fb0c6002cf07cb39208de s390x-endianness.patch
|
||||
"
|
||||
|
32
testing/opentelemetry-cpp/s390x-endianness.patch
Normal file
32
testing/opentelemetry-cpp/s390x-endianness.patch
Normal file
@ -0,0 +1,32 @@
|
||||
diff --git a/sdk/src/trace/samplers/trace_id_ratio.cc b/sdk/src/trace/samplers/trace_id_ratio.cc
|
||||
index fcb074ff..0a12c3b0 100644
|
||||
--- a/sdk/src/trace/samplers/trace_id_ratio.cc
|
||||
+++ b/sdk/src/trace/samplers/trace_id_ratio.cc
|
||||
@@ -56,8 +56,13 @@ uint64_t CalculateThresholdFromBuffer(const trace_api::TraceId &trace_id) noexce
|
||||
// We only use the first 8 bytes of TraceId.
|
||||
static_assert(trace_api::TraceId::kSize >= 8, "TraceID must be at least 8 bytes long.");
|
||||
|
||||
+ // Always interpret as big-endian
|
||||
+ const uint8_t *data = trace_id.Id().data();
|
||||
uint64_t res = 0;
|
||||
- std::memcpy(&res, &trace_id, 8);
|
||||
+ for (int i = 0; i < 8; ++i)
|
||||
+ {
|
||||
+ res = (res << 8) | data[i];
|
||||
+ }
|
||||
|
||||
double ratio = static_cast<double>(res) / static_cast<double>(UINT64_MAX);
|
||||
|
||||
diff --git a/sdk/test/trace/trace_id_ratio_sampler_test.cc b/sdk/test/trace/trace_id_ratio_sampler_test.cc
|
||||
index 86aaeb40..fd509281 100644
|
||||
--- a/sdk/test/trace/trace_id_ratio_sampler_test.cc
|
||||
+++ b/sdk/test/trace/trace_id_ratio_sampler_test.cc
|
||||
@@ -99,7 +99,7 @@ TEST(TraceIdRatioBasedSampler, ShouldSampleWithoutContext)
|
||||
ASSERT_EQ(Decision::RECORD_AND_SAMPLE, sampling_result.decision);
|
||||
ASSERT_EQ(nullptr, sampling_result.attributes);
|
||||
|
||||
- constexpr uint8_t buf[] = {0, 0, 0, 0, 0, 0, 0, 0x80, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
+ constexpr uint8_t buf[] = {0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
trace_api::TraceId valid_trace_id(buf);
|
||||
|
||||
sampling_result = s1.ShouldSample(trace_api::SpanContext::GetInvalid(), valid_trace_id, "",
|
Loading…
Reference in New Issue
Block a user