@@ -91,13 +91,14 @@ void CensusServerCallData::OnDoneRecvInitialMetadataCb(void *user_data,
9191 sml.tracing_slice = grpc_empty_slice ();
9292 sml.census_proto = grpc_empty_slice ();
9393 FilterInitialMetadata (initial_metadata, &sml);
94- calld->method_ = grpc_slice_ref_internal (sml.path );
95- const char *method_str = GRPC_SLICE_IS_EMPTY (calld->method_ )
94+ calld->path_ = grpc_slice_ref_internal (sml.path );
95+ const char *method_str = GRPC_SLICE_IS_EMPTY (calld->path_ )
9696 ? " "
9797 : reinterpret_cast <const char *>(
98- GRPC_SLICE_START_PTR (calld->method_ ));
99- calld->method_size_ =
100- GRPC_SLICE_IS_EMPTY (sml.path ) ? 0 : GRPC_SLICE_LENGTH (sml.path );
98+ GRPC_SLICE_START_PTR (calld->path_ ));
99+ calld->method_ = absl::string_view (
100+ method_str,
101+ GRPC_SLICE_IS_EMPTY (sml.path ) ? 0 : GRPC_SLICE_LENGTH (sml.path ));
101102 const char *tracing_str =
102103 GRPC_SLICE_IS_EMPTY (sml.tracing_slice )
103104 ? " "
@@ -114,14 +115,12 @@ void CensusServerCallData::OnDoneRecvInitialMetadataCb(void *user_data,
114115 ? 0
115116 : GRPC_SLICE_LENGTH (sml.census_proto );
116117
117- // TODO: Setup GenerateServerContext().
118- GenerateServerContext (
119- absl::string_view (tracing_str, tracing_str_len),
120- absl::string_view (census_str, census_str_len), absl::string_view (" " , 0 ),
121- absl::string_view (method_str, calld->method_size_ ), &calld->context_ );
122-
123- absl::string_view method (method_str, calld->method_size_ );
124- stats::Record ({{RpcServerStartedCount (), 1 }}, {{kMethodTagKey , method}});
118+ GenerateServerContext (absl::string_view (tracing_str, tracing_str_len),
119+ absl::string_view (census_str, census_str_len),
120+ /* primary_role*/ " " , calld->method_ ,
121+ &calld->context_ );
122+ stats::Record ({{RpcServerStartedCount (), 1 }},
123+ {{kMethodTagKey , calld->method_ }});
125124
126125 grpc_slice_unref_internal (sml.tracing_slice );
127126 grpc_slice_unref_internal (sml.census_proto );
@@ -193,7 +192,6 @@ void CensusServerCallData::Destroy(grpc_call_element *elem,
193192 const uint64_t response_size = GetIncomingDataSize (final_info);
194193 double elapsed_time_ms = absl::ToDoubleMilliseconds (elapsed_time_);
195194 grpc_auth_context_release (auth_context_);
196- grpc_slice_unref_internal (method_);
197195 stats::Record (
198196 {{RpcServerErrorCount (),
199197 final_info->final_status == GRPC_STATUS_OK ? 0 : 1 },
@@ -203,10 +201,10 @@ void CensusServerCallData::Destroy(grpc_call_element *elem,
203201 {RpcServerRequestCount (), sent_message_count_},
204202 {RpcServerFinishedCount (), 1 },
205203 {RpcServerResponseCount (), recv_message_count_}},
206- {{kMethodTagKey , absl::string_view (reinterpret_cast <char *>(
207- GRPC_SLICE_START_PTR (method_)),
208- method_size_)},
204+ {{kMethodTagKey , method_},
209205 {kStatusTagKey , StatusCodeToString (final_info->final_status )}});
206+ grpc_slice_unref_internal (path_);
207+ context_.EndSpan ();
210208}
211209
212210} // namespace opencensus
0 commit comments