@@ -53,25 +53,6 @@ TracingConnection::AsyncRunner const& TracingConnection::runner() {
5353
5454BucketMetadataCache& TracingConnection::cache () const { return *cache_; }
5555
56- TracingConnection::~TracingConnection () = default ;
57-
58- TracingConnection::AsyncRunner const & TracingConnection::runner () {
59- absl::call_once (once_flag_, [this ] {
60- if (!runner_) {
61- auto threads =
62- std::make_shared<google::cloud::rest_internal::
63- AutomaticallyCreatedRestPureBackgroundThreads>(
64- 1U );
65- runner_ = [threads](std::function<void ()> f) {
66- threads->cq ().RunAsync (std::move (f));
67- };
68- }
69- });
70- return runner_;
71- }
72-
73- BucketMetadataCache& TracingConnection::cache () const { return *cache_; }
74-
7556Options TracingConnection::options () const { return impl_->options (); }
7657
7758void TracingConnection::EnrichSpan (opentelemetry::trace::Span& span,
@@ -89,49 +70,7 @@ void TracingConnection::MaybeTriggerBackgroundFetch(
8970 auto guard = ScopedFetch (cache_, bucket_name);
9071 auto current_options = google::cloud::internal::SaveCurrentOptions ();
9172 runner ()([impl = impl_, cache = cache_, bucket_name, current_options,
92- guard]() {
93- google::cloud::internal::OptionsSpan span (current_options);
94- storage::internal::GetBucketMetadataRequest request (bucket_name);
95- auto result = impl->GetBucketMetadata (request);
96-
97- if (result.ok ()) {
98- cache->Put (bucket_name, BucketCacheEntry::FromMetadata (*result));
99- } else if (result.status ().code () == StatusCode::kPermissionDenied ) {
100- cache->Put (bucket_name, {" projects/_/buckets/" + bucket_name, " global" });
101- }
102- });
103- }
104-
105- void TracingConnection::EnrichSpan (opentelemetry::trace::Span& span,
106- std::string const & bucket_name) {
107- if (bucket_name.empty ()) return ;
108- auto const enabled =
109- options ().get <storage_experimental::OTelSpanEnrichmentOption>();
110- if (!enabled) return ;
111- auto entry = cache ().Get (bucket_name);
112- if (entry.has_value ()) {
113- EnrichSpan (span, *entry);
114- } else {
115- MaybeTriggerBackgroundFetch (bucket_name);
116- }
117- }
118-
119- void TracingConnection::EnrichSpan (opentelemetry::trace::Span& span,
120- BucketCacheEntry const & entry) {
121- span.SetAttribute (" gcp.resource.destination.id" , entry.id );
122- span.SetAttribute (" gcp.resource.destination.location" , entry.location );
123- }
124-
125- void TracingConnection::MaybeTriggerBackgroundFetch (
126- std::string const & bucket_name) {
127- if (!cache ().StartFetch (bucket_name)) {
128- return ;
129- }
130-
131- auto guard = ScopedFetch (cache_, bucket_name);
132- auto current_options = google::cloud::internal::SaveCurrentOptions ();
133- runner ()([impl = impl_, cache = cache_, bucket_name, current_options,
134- guard]() {
73+ guard = std::move (guard)]() {
13574 google::cloud::internal::OptionsSpan span (current_options);
13675 storage::internal::GetBucketMetadataRequest request (bucket_name);
13776 auto result = impl->GetBucketMetadata (request);
0 commit comments