|
1 | 1 | use std::time::{Duration, Instant}; |
2 | 2 |
|
3 | 3 | use api::conversions::json::json_path_from_proto; |
4 | | -use api::grpc::Usage; |
| 4 | +use api::grpc::ops::usage_or_none; |
5 | 5 | use api::grpc::qdrant::{ |
6 | 6 | BatchResult, CoreSearchPoints, CountPoints, CountResponse, DiscoverBatchResponse, |
7 | 7 | DiscoverPoints, DiscoverResponse, FacetCounts, FacetResponse, GetPoints, GetResponse, |
@@ -132,9 +132,7 @@ pub async fn search( |
132 | 132 | .map(|point| point.into()) |
133 | 133 | .collect(), |
134 | 134 | time: timing.elapsed().as_secs_f64(), |
135 | | - usage: Some(Usage { |
136 | | - hardware: hw_measurement_acc.to_grpc_api(), |
137 | | - }), |
| 135 | + usage: usage_or_none(hw_measurement_acc.to_grpc_api()), |
138 | 136 | }; |
139 | 137 |
|
140 | 138 | Ok(Response::new(response)) |
@@ -182,9 +180,7 @@ pub async fn core_search_batch( |
182 | 180 | }) |
183 | 181 | .collect(), |
184 | 182 | time: timing.elapsed().as_secs_f64(), |
185 | | - usage: Some(Usage { |
186 | | - hardware: request_hw_counter.to_grpc_api(), |
187 | | - }), |
| 183 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
188 | 184 | }; |
189 | 185 |
|
190 | 186 | Ok(Response::new(response)) |
@@ -242,9 +238,7 @@ pub async fn core_search_list( |
242 | 238 | }) |
243 | 239 | .collect(), |
244 | 240 | time: timing.elapsed().as_secs_f64(), |
245 | | - usage: Some(Usage { |
246 | | - hardware: request_hw_counter.to_grpc_api(), |
247 | | - }), |
| 241 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
248 | 242 | }; |
249 | 243 |
|
250 | 244 | Ok(Response::new(response)) |
@@ -299,9 +293,7 @@ pub async fn search_groups( |
299 | 293 | let response = SearchGroupsResponse { |
300 | 294 | result: Some(groups_result), |
301 | 295 | time: timing.elapsed().as_secs_f64(), |
302 | | - usage: Some(Usage { |
303 | | - hardware: request_hw_counter.to_grpc_api(), |
304 | | - }), |
| 296 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
305 | 297 | }; |
306 | 298 |
|
307 | 299 | Ok(Response::new(response)) |
@@ -354,9 +346,7 @@ pub async fn recommend( |
354 | 346 | .map(|point| point.into()) |
355 | 347 | .collect(), |
356 | 348 | time: timing.elapsed().as_secs_f64(), |
357 | | - usage: Some(Usage { |
358 | | - hardware: request_hw_counter.to_grpc_api(), |
359 | | - }), |
| 349 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
360 | 350 | }; |
361 | 351 |
|
362 | 352 | Ok(Response::new(response)) |
@@ -413,9 +403,7 @@ pub async fn recommend_batch( |
413 | 403 | }) |
414 | 404 | .collect(), |
415 | 405 | time: timing.elapsed().as_secs_f64(), |
416 | | - usage: Some(Usage { |
417 | | - hardware: request_hw_counter.to_grpc_api(), |
418 | | - }), |
| 406 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
419 | 407 | }; |
420 | 408 |
|
421 | 409 | Ok(Response::new(response)) |
@@ -469,9 +457,7 @@ pub async fn recommend_groups( |
469 | 457 | let response = RecommendGroupsResponse { |
470 | 458 | result: Some(groups_result), |
471 | 459 | time: timing.elapsed().as_secs_f64(), |
472 | | - usage: Some(Usage { |
473 | | - hardware: request_hw_counter.to_grpc_api(), |
474 | | - }), |
| 460 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
475 | 461 | }; |
476 | 462 |
|
477 | 463 | Ok(Response::new(response)) |
@@ -517,9 +503,7 @@ pub async fn discover( |
517 | 503 | .map(|point| point.into()) |
518 | 504 | .collect(), |
519 | 505 | time: timing.elapsed().as_secs_f64(), |
520 | | - usage: Some(Usage { |
521 | | - hardware: request_hw_counter.to_grpc_api(), |
522 | | - }), |
| 506 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
523 | 507 | }; |
524 | 508 |
|
525 | 509 | Ok(Response::new(response)) |
@@ -575,9 +559,7 @@ pub async fn discover_batch( |
575 | 559 | }) |
576 | 560 | .collect(), |
577 | 561 | time: timing.elapsed().as_secs_f64(), |
578 | | - usage: Some(Usage { |
579 | | - hardware: request_hw_counter.to_grpc_api(), |
580 | | - }), |
| 562 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
581 | 563 | }; |
582 | 564 |
|
583 | 565 | Ok(Response::new(response)) |
@@ -656,9 +638,7 @@ pub async fn scroll( |
656 | 638 | next_page_offset: scrolled_points.next_page_offset.map(|n| n.into()), |
657 | 639 | result: points, |
658 | 640 | time: timing.elapsed().as_secs_f64(), |
659 | | - usage: Some(Usage { |
660 | | - hardware: request_hw_counter.to_grpc_api(), |
661 | | - }), |
| 641 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
662 | 642 | }; |
663 | 643 |
|
664 | 644 | Ok(Response::new(response)) |
@@ -716,9 +696,7 @@ pub async fn count( |
716 | 696 | let response = CountResponse { |
717 | 697 | result: Some(count_result.into()), |
718 | 698 | time: timing.elapsed().as_secs_f64(), |
719 | | - usage: Some(Usage { |
720 | | - hardware: request_hw_counter.to_grpc_api(), |
721 | | - }), |
| 699 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
722 | 700 | }; |
723 | 701 |
|
724 | 702 | Ok(Response::new(response)) |
@@ -783,9 +761,7 @@ pub async fn get( |
783 | 761 | let response = GetResponse { |
784 | 762 | result: records.into_iter().map(|point| point.into()).collect(), |
785 | 763 | time: timing.elapsed().as_secs_f64(), |
786 | | - usage: Some(Usage { |
787 | | - hardware: request_hw_counter.to_grpc_api(), |
788 | | - }), |
| 764 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
789 | 765 | }; |
790 | 766 |
|
791 | 767 | Ok(Response::new(response)) |
@@ -840,9 +816,7 @@ pub async fn query( |
840 | 816 | .map(|point| point.into()) |
841 | 817 | .collect(), |
842 | 818 | time: timing.elapsed().as_secs_f64(), |
843 | | - usage: Some(Usage { |
844 | | - hardware: request_hw_counter.to_grpc_api(), |
845 | | - }), |
| 819 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
846 | 820 | }; |
847 | 821 |
|
848 | 822 | Ok(Response::new(response)) |
@@ -898,9 +872,7 @@ pub async fn query_batch( |
898 | 872 | }) |
899 | 873 | .collect(), |
900 | 874 | time: timing.elapsed().as_secs_f64(), |
901 | | - usage: Some(Usage { |
902 | | - hardware: request_hw_counter.to_grpc_api(), |
903 | | - }), |
| 875 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
904 | 876 | }; |
905 | 877 |
|
906 | 878 | Ok(Response::new(response)) |
@@ -955,9 +927,7 @@ pub async fn query_groups( |
955 | 927 | let response = QueryGroupsResponse { |
956 | 928 | result: Some(grpc_group_result), |
957 | 929 | time: timing.elapsed().as_secs_f64(), |
958 | | - usage: Some(Usage { |
959 | | - hardware: request_hw_counter.to_grpc_api(), |
960 | | - }), |
| 930 | + usage: usage_or_none(request_hw_counter.to_grpc_api()), |
961 | 931 | }; |
962 | 932 |
|
963 | 933 | Ok(Response::new(response)) |
|
0 commit comments