Skip to content

Commit e0c0e6e

Browse files
committed
StringView conversions
1 parent 788883c commit e0c0e6e

File tree

4 files changed

+25
-17
lines changed

4 files changed

+25
-17
lines changed

src/cpp/ext/otel/otel_plugin.cc

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -89,16 +89,6 @@ absl::flat_hash_set<std::string> BaseMetrics() {
8989
return base_metrics;
9090
}
9191

92-
absl::string_view NoStdStringViewToAbslStringView(
93-
opentelemetry::nostd::string_view string) {
94-
return absl::string_view(string.data(), string.size());
95-
}
96-
97-
opentelemetry::nostd::string_view AbslStringViewToNoStdStringView(
98-
absl::string_view string) {
99-
return opentelemetry::nostd::string_view(string.data(), string.size());
100-
}
101-
10292
} // namespace
10393

10494
class OpenTelemetryPluginImpl::NPCMetricsKeyValueIterable
@@ -156,6 +146,16 @@ class OpenTelemetryPluginImpl::NPCMetricsKeyValueIterable
156146
const OptionalLabelsBitSet& optional_labels_bits_;
157147
};
158148

149+
absl::string_view NoStdStringViewToAbslStringView(
150+
opentelemetry::nostd::string_view string) {
151+
return absl::string_view(string.data(), string.size());
152+
}
153+
154+
opentelemetry::nostd::string_view AbslStringViewToNoStdStringView(
155+
absl::string_view string) {
156+
return opentelemetry::nostd::string_view(string.data(), string.size());
157+
}
158+
159159
//
160160
// OpenTelemetryPluginBuilderImpl
161161
//
@@ -1113,9 +1113,8 @@ class GrpcTraceBinTextMapPropagator : public TextMapPropagator {
11131113
opentelemetry::nostd::string_view grpc_trace_bin_val =
11141114
carrier.Get("grpc-trace-bin");
11151115
std::string base64_unescaped_val;
1116-
absl::Base64Unescape(
1117-
absl::string_view(grpc_trace_bin_val.data(), grpc_trace_bin_val.size()),
1118-
&base64_unescaped_val);
1116+
absl::Base64Unescape(NoStdStringViewToAbslStringView(grpc_trace_bin_val),
1117+
&base64_unescaped_val);
11191118
return opentelemetry::trace::SetSpan(
11201119
context,
11211120
std::shared_ptr<opentelemetry::trace::Span>(

src/cpp/ext/otel/otel_plugin.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -556,6 +556,12 @@ class GrpcTextMapCarrier
556556
grpc_metadata_batch* metadata_;
557557
};
558558

559+
absl::string_view NoStdStringViewToAbslStringView(
560+
opentelemetry::nostd::string_view string);
561+
562+
opentelemetry::nostd::string_view AbslStringViewToNoStdStringView(
563+
absl::string_view string);
564+
559565
} // namespace internal
560566
} // namespace grpc
561567

test/cpp/ext/otel/grpc_text_map_carrier_test.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,15 +50,15 @@ TEST(GrpcTextMapCarrierTest, GrpcTraceBinGet) {
5050
GrpcTextMapCarrier carrier(&md);
5151
auto arena = grpc_core::SimpleArenaAllocator()->MakeArena();
5252
grpc_core::TestContext<grpc_core::Arena> context(arena.get());
53-
auto escaped_value = carrier.Get("grpc-trace-bin");
53+
std::string_view escaped_value = carrier.Get("grpc-trace-bin");
5454
std::string value;
5555
ASSERT_TRUE(absl::Base64Unescape(escaped_value, &value));
5656
EXPECT_EQ(value, "value");
5757
}
5858

5959
TEST(GrpcTextMapCarrierTest, OtherBinaryGet) {
6060
grpc_metadata_batch md;
61-
md.Append("random-binadd", grpc_core::Slice::FromCopiedString("value"),
61+
md.Append("random-bin", grpc_core::Slice::FromCopiedString("value"),
6262
[](absl::string_view, const grpc_core::Slice&) {
6363
FAIL() << "Failed to add tracing information in metadata.";
6464
});
@@ -81,7 +81,8 @@ TEST(GrpcTextMapCarrierTest, SimpleSet) {
8181
TEST(GrpcTextMapCarrierTest, GrpcTraceBinSet) {
8282
grpc_metadata_batch md;
8383
GrpcTextMapCarrier carrier(&md);
84-
carrier.Set("grpc-trace-bin", absl::Base64Escape("value"));
84+
carrier.Set("grpc-trace-bin",
85+
AbslStringViewToNoStdStringView(absl::Base64Escape("value")));
8586
std::string scratch;
8687
auto* slice = md.get_pointer(grpc_core::GrpcTraceBinMetadata());
8788
EXPECT_EQ(slice->as_string_view(), "value");

test/cpp/ext/otel/grpc_trace_bin_text_map_propagator_test.cc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,9 @@ TEST(GrpcTraceBinTextMapPropagatorTest, Inject) {
7373
opentelemetry::trace::TraceFlags(1), /*is_remote=*/true))));
7474
propagator->Inject(carrier, context);
7575
std::string unescaped_val;
76-
absl::Base64Unescape(carrier.Get("grpc-trace-bin"), &unescaped_val);
76+
absl::Base64Unescape(
77+
internal::NoStdStringViewToAbslStringView(carrier.Get("grpc-trace-bin")),
78+
&unescaped_val);
7779
EXPECT_EQ(unescaped_val[0], 0);
7880
EXPECT_EQ(unescaped_val[0], 0);
7981
EXPECT_EQ(absl::string_view(unescaped_val).substr(2, 16), trace_id);

0 commit comments

Comments
 (0)