3535#include " simd/hook.h"
3636
3737#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
38- #include " knowhere/tracer .h"
38+ #include " common/Trace .h"
3939#endif
4040
4141namespace knowhere {
@@ -509,19 +509,15 @@ BruteForceSearchWithBufImpl(const DataSetPtr base_dataset, const DataSetPtr quer
509509
510510#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
511511 // LCOV_EXCL_START
512- std::shared_ptr<tracer::trace::Span> span = nullptr ;
513- if (cfg.trace_id .has_value ()) {
514- auto trace_id_str = tracer::GetIDFromHexStr (cfg.trace_id .value ());
515- auto span_id_str = tracer::GetIDFromHexStr (cfg.span_id .value ());
516- auto ctx = tracer::TraceContext{.traceID = reinterpret_cast <const uint8_t *>(trace_id_str.c_str ()),
517- .spanID = reinterpret_cast <const uint8_t *>(span_id_str.c_str ()),
518- .traceFlags = static_cast <uint8_t >(cfg.trace_flags .value ())};
519- span = tracer::StartSpan (" knowhere bf search with buf" , &ctx);
520- span->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
521- span->SetAttribute (meta::TOPK , cfg.k .value ());
522- span->SetAttribute (meta::ROWS , nb);
523- span->SetAttribute (meta::DIM , dim);
524- span->SetAttribute (meta::NQ , nq);
512+ auto span = milvus::tracer::StartScopedSpan (" knowhere bf search with buf" ,
513+ milvus::tracer::GetTraceSpan (op_context));
514+ const auto & span_ptr = span.Get ();
515+ if (span_ptr != nullptr ) {
516+ span_ptr->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
517+ span_ptr->SetAttribute (meta::TOPK , cfg.k .value ());
518+ span_ptr->SetAttribute (meta::ROWS , nb);
519+ span_ptr->SetAttribute (meta::DIM , dim);
520+ span_ptr->SetAttribute (meta::NQ , nq);
525521 }
526522 // LCOV_EXCL_STOP
527523#endif
@@ -617,14 +613,6 @@ BruteForceSearchWithBufImpl(const DataSetPtr base_dataset, const DataSetPtr quer
617613 }
618614 }
619615
620- #if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
621- // LCOV_EXCL_START
622- if (cfg.trace_id .has_value ()) {
623- span->End ();
624- }
625- // LCOV_EXCL_STOP
626- #endif
627-
628616 return Status::success;
629617}
630618
@@ -673,19 +661,15 @@ BruteForceSearchOnChunkWithBufImpl(const DataSetPtr base_dataset, const DataSetP
673661
674662#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
675663 // LCOV_EXCL_START
676- std::shared_ptr<tracer::trace::Span> span = nullptr ;
677- if (cfg.trace_id .has_value ()) {
678- auto trace_id_str = tracer::GetIDFromHexStr (cfg.trace_id .value ());
679- auto span_id_str = tracer::GetIDFromHexStr (cfg.span_id .value ());
680- auto ctx = tracer::TraceContext{.traceID = reinterpret_cast <const uint8_t *>(trace_id_str.c_str ()),
681- .spanID = reinterpret_cast <const uint8_t *>(span_id_str.c_str ()),
682- .traceFlags = static_cast <uint8_t >(cfg.trace_flags .value ())};
683- span = tracer::StartSpan (" knowhere bf search [on chunk] with buf" , &ctx);
684- span->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
685- span->SetAttribute (meta::TOPK , cfg.k .value ());
686- span->SetAttribute (meta::ROWS , num_total_vectors);
687- span->SetAttribute (meta::DIM , dim);
688- span->SetAttribute (meta::NQ , nq);
664+ auto span = milvus::tracer::StartScopedSpan (" knowhere bf search [on chunk] with buf" ,
665+ milvus::tracer::GetTraceSpan (op_context));
666+ const auto & span_ptr = span.Get ();
667+ if (span_ptr != nullptr ) {
668+ span_ptr->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
669+ span_ptr->SetAttribute (meta::TOPK , cfg.k .value ());
670+ span_ptr->SetAttribute (meta::ROWS , num_total_vectors);
671+ span_ptr->SetAttribute (meta::DIM , dim);
672+ span_ptr->SetAttribute (meta::NQ , nq);
689673 }
690674 // LCOV_EXCL_STOP
691675#endif
@@ -951,22 +935,18 @@ BruteForceRangeSearchImpl(const DataSetPtr base_dataset, const DataSetPtr query_
951935
952936#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
953937 // LCOV_EXCL_START
954- std::shared_ptr<tracer::trace::Span> span = nullptr ;
955- if (cfg.trace_id .has_value ()) {
956- auto trace_id_str = tracer::GetIDFromHexStr (cfg.trace_id .value ());
957- auto span_id_str = tracer::GetIDFromHexStr (cfg.span_id .value ());
958- auto ctx = tracer::TraceContext{.traceID = reinterpret_cast <const uint8_t *>(trace_id_str.c_str ()),
959- .spanID = reinterpret_cast <const uint8_t *>(span_id_str.c_str ()),
960- .traceFlags = static_cast <uint8_t >(cfg.trace_flags .value ())};
961- span = tracer::StartSpan (" knowhere bf range search" , &ctx);
962- span->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
963- span->SetAttribute (meta::RADIUS , cfg.radius .value ());
938+ auto span = milvus::tracer::StartScopedSpan (" knowhere bf range search" ,
939+ milvus::tracer::GetTraceSpan (op_context));
940+ const auto & span_ptr = span.Get ();
941+ if (span_ptr != nullptr ) {
942+ span_ptr->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
943+ span_ptr->SetAttribute (meta::RADIUS , cfg.radius .value ());
964944 if (cfg.range_filter .value () != defaultRangeFilter) {
965- span ->SetAttribute (meta::RANGE_FILTER , cfg.range_filter .value ());
945+ span_ptr ->SetAttribute (meta::RANGE_FILTER , cfg.range_filter .value ());
966946 }
967- span ->SetAttribute (meta::ROWS , nb);
968- span ->SetAttribute (meta::DIM , dim);
969- span ->SetAttribute (meta::NQ , nq);
947+ span_ptr ->SetAttribute (meta::ROWS , nb);
948+ span_ptr ->SetAttribute (meta::DIM , dim);
949+ span_ptr ->SetAttribute (meta::NQ , nq);
970950 }
971951 // LCOV_EXCL_STOP
972952#endif
@@ -1138,14 +1118,6 @@ BruteForceRangeSearchImpl(const DataSetPtr base_dataset, const DataSetPtr query_
11381118 GetRangeSearchResult (result_dist_array, result_id_array, the_larger_the_closer, nq, radius, range_filter);
11391119 auto res = GenResultDataSet (nq, std::move (range_search_result));
11401120
1141- #if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
1142- // LCOV_EXCL_START
1143- if (cfg.trace_id .has_value ()) {
1144- span->End ();
1145- }
1146- // LCOV_EXCL_STOP
1147- #endif
1148-
11491121 return res;
11501122}
11511123
@@ -1171,19 +1143,15 @@ BruteForceSearchSparseWithBufImpl(const DataSetPtr base_dataset, const DataSetPt
11711143#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
11721144 // LCOV_EXCL_START
11731145 auto dim = base_dataset->GetDim ();
1174- std::shared_ptr<tracer::trace::Span> span = nullptr ;
1175- if (cfg.trace_id .has_value ()) {
1176- auto trace_id_str = tracer::GetIDFromHexStr (cfg.trace_id .value ());
1177- auto span_id_str = tracer::GetIDFromHexStr (cfg.span_id .value ());
1178- auto ctx = tracer::TraceContext{.traceID = reinterpret_cast <const uint8_t *>(trace_id_str.c_str ()),
1179- .spanID = reinterpret_cast <const uint8_t *>(span_id_str.c_str ()),
1180- .traceFlags = static_cast <uint8_t >(cfg.trace_flags .value ())};
1181- span = tracer::StartSpan (" knowhere bf search sparse with buf" , &ctx);
1182- span->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
1183- span->SetAttribute (meta::TOPK , cfg.k .value ());
1184- span->SetAttribute (meta::ROWS , rows);
1185- span->SetAttribute (meta::DIM , dim);
1186- span->SetAttribute (meta::NQ , nq);
1146+ auto span = milvus::tracer::StartScopedSpan (" knowhere bf search sparse with buf" ,
1147+ milvus::tracer::GetTraceSpan (op_context));
1148+ const auto & span_ptr = span.Get ();
1149+ if (span_ptr != nullptr ) {
1150+ span_ptr->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
1151+ span_ptr->SetAttribute (meta::TOPK , cfg.k .value ());
1152+ span_ptr->SetAttribute (meta::ROWS , rows);
1153+ span_ptr->SetAttribute (meta::DIM , dim);
1154+ span_ptr->SetAttribute (meta::NQ , nq);
11871155 }
11881156 // LCOV_EXCL_STOP
11891157#endif
@@ -1241,14 +1209,6 @@ BruteForceSearchSparseWithBufImpl(const DataSetPtr base_dataset, const DataSetPt
12411209 }
12421210 WaitAllSuccess (futs);
12431211
1244- #if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
1245- // LCOV_EXCL_START
1246- if (cfg.trace_id .has_value ()) {
1247- span->End ();
1248- }
1249- // LCOV_EXCL_STOP
1250- #endif
1251-
12521212 return Status::success;
12531213}
12541214
@@ -1307,18 +1267,14 @@ BruteForceAnnIteratorImpl(const DataSetPtr base_dataset, const DataSetPtr query_
13071267
13081268#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
13091269 // LCOV_EXCL_START
1310- std::shared_ptr<tracer::trace::Span> span = nullptr ;
1311- if (cfg.trace_id .has_value ()) {
1312- auto trace_id_str = tracer::GetIDFromHexStr (cfg.trace_id .value ());
1313- auto span_id_str = tracer::GetIDFromHexStr (cfg.span_id .value ());
1314- auto ctx = tracer::TraceContext{.traceID = reinterpret_cast <const uint8_t *>(trace_id_str.c_str ()),
1315- .spanID = reinterpret_cast <const uint8_t *>(span_id_str.c_str ()),
1316- .traceFlags = static_cast <uint8_t >(cfg.trace_flags .value ())};
1317- span = tracer::StartSpan (" knowhere bf ann iterator initialization" , &ctx);
1318- span->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
1319- span->SetAttribute (meta::ROWS , nb);
1320- span->SetAttribute (meta::DIM , dim);
1321- span->SetAttribute (meta::NQ , nq);
1270+ auto span = milvus::tracer::StartScopedSpan (" knowhere bf ann iterator initialization" ,
1271+ milvus::tracer::GetTraceSpan (op_context));
1272+ const auto & span_ptr = span.Get ();
1273+ if (span_ptr != nullptr ) {
1274+ span_ptr->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
1275+ span_ptr->SetAttribute (meta::ROWS , nb);
1276+ span_ptr->SetAttribute (meta::DIM , dim);
1277+ span_ptr->SetAttribute (meta::NQ , nq);
13221278 }
13231279 // LCOV_EXCL_STOP
13241280#endif
@@ -1460,13 +1416,6 @@ BruteForceAnnIteratorImpl(const DataSetPtr base_dataset, const DataSetPtr query_
14601416 return expected<std::vector<IndexNode::IteratorPtr>>::Err (Status::brute_force_inner_error, e.what ());
14611417 }
14621418
1463- #if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
1464- // LCOV_EXCL_START
1465- if (cfg.trace_id .has_value ()) {
1466- span->End ();
1467- }
1468- // LCOV_EXCL_STOP
1469- #endif
14701419 return vec;
14711420}
14721421
@@ -1540,18 +1489,14 @@ BruteForceAnnIteratorOnChunkImpl(const DataSetPtr base_dataset, const DataSetPtr
15401489
15411490#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
15421491 // LCOV_EXCL_START
1543- std::shared_ptr<tracer::trace::Span> span = nullptr ;
1544- if (cfg.trace_id .has_value ()) {
1545- auto trace_id_str = tracer::GetIDFromHexStr (cfg.trace_id .value ());
1546- auto span_id_str = tracer::GetIDFromHexStr (cfg.span_id .value ());
1547- auto ctx = tracer::TraceContext{.traceID = reinterpret_cast <const uint8_t *>(trace_id_str.c_str ()),
1548- .spanID = reinterpret_cast <const uint8_t *>(span_id_str.c_str ()),
1549- .traceFlags = static_cast <uint8_t >(cfg.trace_flags .value ())};
1550- span = tracer::StartSpan (" knowhere bf ann iterator initialization" , &ctx);
1551- span->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
1552- span->SetAttribute (meta::ROWS , num_total_vectors);
1553- span->SetAttribute (meta::DIM , dim);
1554- span->SetAttribute (meta::NQ , nq);
1492+ auto span = milvus::tracer::StartScopedSpan (" knowhere bf ann iterator initialization" ,
1493+ milvus::tracer::GetTraceSpan (op_context));
1494+ const auto & span_ptr = span.Get ();
1495+ if (span_ptr != nullptr ) {
1496+ span_ptr->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
1497+ span_ptr->SetAttribute (meta::ROWS , num_total_vectors);
1498+ span_ptr->SetAttribute (meta::DIM , dim);
1499+ span_ptr->SetAttribute (meta::NQ , nq);
15551500 }
15561501 // LCOV_EXCL_STOP
15571502#endif
@@ -1749,18 +1694,14 @@ BruteForceAnnIteratorImpl<knowhere::sparse::SparseRow<float>>(const DataSetPtr b
17491694#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
17501695 // LCOV_EXCL_START
17511696 auto dim = base_dataset->GetDim ();
1752- std::shared_ptr<tracer::trace::Span> span = nullptr ;
1753- if (cfg.trace_id .has_value ()) {
1754- auto trace_id_str = tracer::GetIDFromHexStr (cfg.trace_id .value ());
1755- auto span_id_str = tracer::GetIDFromHexStr (cfg.span_id .value ());
1756- auto ctx = tracer::TraceContext{.traceID = reinterpret_cast <const uint8_t *>(trace_id_str.c_str ()),
1757- .spanID = reinterpret_cast <const uint8_t *>(span_id_str.c_str ()),
1758- .traceFlags = static_cast <uint8_t >(cfg.trace_flags .value ())};
1759- span = tracer::StartSpan (" knowhere bf iterator sparse" , &ctx);
1760- span->SetAttribute (meta::METRIC_TYPE , metric_str);
1761- span->SetAttribute (meta::ROWS , rows);
1762- span->SetAttribute (meta::DIM , dim);
1763- span->SetAttribute (meta::NQ , nq);
1697+ auto span = milvus::tracer::StartScopedSpan (" knowhere bf iterator sparse" ,
1698+ milvus::tracer::GetTraceSpan (op_context));
1699+ const auto & span_ptr = span.Get ();
1700+ if (span_ptr != nullptr ) {
1701+ span_ptr->SetAttribute (meta::METRIC_TYPE , metric_str);
1702+ span_ptr->SetAttribute (meta::ROWS , rows);
1703+ span_ptr->SetAttribute (meta::DIM , dim);
1704+ span_ptr->SetAttribute (meta::NQ , nq);
17641705 }
17651706 // LCOV_EXCL_STOP
17661707#endif
@@ -1810,14 +1751,6 @@ BruteForceAnnIteratorImpl<knowhere::sparse::SparseRow<float>>(const DataSetPtr b
18101751 return expected<std::vector<IndexNode::IteratorPtr>>::Err (Status::brute_force_inner_error, e.what ());
18111752 }
18121753
1813- #if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
1814- // LCOV_EXCL_START
1815- if (cfg.trace_id .has_value ()) {
1816- span->End ();
1817- }
1818- // LCOV_EXCL_STOP
1819- #endif
1820-
18211754 return vec;
18221755}
18231756
0 commit comments