3535#include " simd/hook.h"
3636
3737#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
38+ #include " common/Tracer.h"
3839#include " knowhere/tracer.h"
3940#endif
4041
@@ -509,19 +510,14 @@ BruteForceSearchWithBufImpl(const DataSetPtr base_dataset, const DataSetPtr quer
509510
510511#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
511512 // 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);
513+ auto span = knowhere::tracer::StartMilvusSpanFromOpContextOrConfig (" knowhere bf search with buf" , op_context, cfg);
514+ auto span_ptr = span != nullptr ? span->GetSpan () : milvus::tracer::SpanPtr{};
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 = knowhere::tracer::StartMilvusSpanFromOpContextOrConfig (" knowhere bf search [on chunk] with buf" ,
665+ op_context, cfg);
666+ auto span_ptr = span != nullptr ? span->GetSpan () : milvus::tracer::SpanPtr{};
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,17 @@ 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 = knowhere::tracer::StartMilvusSpanFromOpContextOrConfig (" knowhere bf range search" , op_context, cfg);
939+ auto span_ptr = span != nullptr ? span->GetSpan () : milvus::tracer::SpanPtr{};
940+ if (span_ptr != nullptr ) {
941+ span_ptr->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
942+ span_ptr->SetAttribute (meta::RADIUS , cfg.radius .value ());
964943 if (cfg.range_filter .value () != defaultRangeFilter) {
965- span ->SetAttribute (meta::RANGE_FILTER , cfg.range_filter .value ());
944+ span_ptr ->SetAttribute (meta::RANGE_FILTER , cfg.range_filter .value ());
966945 }
967- span ->SetAttribute (meta::ROWS , nb);
968- span ->SetAttribute (meta::DIM , dim);
969- span ->SetAttribute (meta::NQ , nq);
946+ span_ptr ->SetAttribute (meta::ROWS , nb);
947+ span_ptr ->SetAttribute (meta::DIM , dim);
948+ span_ptr ->SetAttribute (meta::NQ , nq);
970949 }
971950 // LCOV_EXCL_STOP
972951#endif
@@ -1138,14 +1117,6 @@ BruteForceRangeSearchImpl(const DataSetPtr base_dataset, const DataSetPtr query_
11381117 GetRangeSearchResult (result_dist_array, result_id_array, the_larger_the_closer, nq, radius, range_filter);
11391118 auto res = GenResultDataSet (nq, std::move (range_search_result));
11401119
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-
11491120 return res;
11501121}
11511122
@@ -1171,19 +1142,15 @@ BruteForceSearchSparseWithBufImpl(const DataSetPtr base_dataset, const DataSetPt
11711142#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
11721143 // LCOV_EXCL_START
11731144 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);
1145+ auto span =
1146+ knowhere::tracer::StartMilvusSpanFromOpContextOrConfig (" knowhere bf search sparse with buf" , op_context, cfg);
1147+ auto span_ptr = span != nullptr ? span->GetSpan () : milvus::tracer::SpanPtr{};
1148+ if (span_ptr != nullptr ) {
1149+ span_ptr->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
1150+ span_ptr->SetAttribute (meta::TOPK , cfg.k .value ());
1151+ span_ptr->SetAttribute (meta::ROWS , rows);
1152+ span_ptr->SetAttribute (meta::DIM , dim);
1153+ span_ptr->SetAttribute (meta::NQ , nq);
11871154 }
11881155 // LCOV_EXCL_STOP
11891156#endif
@@ -1241,14 +1208,6 @@ BruteForceSearchSparseWithBufImpl(const DataSetPtr base_dataset, const DataSetPt
12411208 }
12421209 WaitAllSuccess (futs);
12431210
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-
12521211 return Status::success;
12531212}
12541213
@@ -1307,18 +1266,14 @@ BruteForceAnnIteratorImpl(const DataSetPtr base_dataset, const DataSetPtr query_
13071266
13081267#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
13091268 // 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);
1269+ auto span = knowhere::tracer::StartMilvusSpanFromOpContextOrConfig (" knowhere bf ann iterator initialization" ,
1270+ op_context, cfg);
1271+ auto span_ptr = span != nullptr ? span->GetSpan () : milvus::tracer::SpanPtr{};
1272+ if (span_ptr != nullptr ) {
1273+ span_ptr->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
1274+ span_ptr->SetAttribute (meta::ROWS , nb);
1275+ span_ptr->SetAttribute (meta::DIM , dim);
1276+ span_ptr->SetAttribute (meta::NQ , nq);
13221277 }
13231278 // LCOV_EXCL_STOP
13241279#endif
@@ -1460,13 +1415,6 @@ BruteForceAnnIteratorImpl(const DataSetPtr base_dataset, const DataSetPtr query_
14601415 return expected<std::vector<IndexNode::IteratorPtr>>::Err (Status::brute_force_inner_error, e.what ());
14611416 }
14621417
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
14701418 return vec;
14711419}
14721420
@@ -1540,18 +1488,14 @@ BruteForceAnnIteratorOnChunkImpl(const DataSetPtr base_dataset, const DataSetPtr
15401488
15411489#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
15421490 // 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);
1491+ auto span = knowhere::tracer::StartMilvusSpanFromOpContextOrConfig (" knowhere bf ann iterator initialization" ,
1492+ op_context, cfg);
1493+ auto span_ptr = span != nullptr ? span->GetSpan () : milvus::tracer::SpanPtr{};
1494+ if (span_ptr != nullptr ) {
1495+ span_ptr->SetAttribute (meta::METRIC_TYPE , cfg.metric_type .value ());
1496+ span_ptr->SetAttribute (meta::ROWS , num_total_vectors);
1497+ span_ptr->SetAttribute (meta::DIM , dim);
1498+ span_ptr->SetAttribute (meta::NQ , nq);
15551499 }
15561500 // LCOV_EXCL_STOP
15571501#endif
@@ -1749,18 +1693,13 @@ BruteForceAnnIteratorImpl<knowhere::sparse::SparseRow<float>>(const DataSetPtr b
17491693#if defined(NOT_COMPILE_FOR_SWIG) && !defined(KNOWHERE_WITH_LIGHT)
17501694 // LCOV_EXCL_START
17511695 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);
1696+ auto span = knowhere::tracer::StartMilvusSpanFromOpContextOrConfig (" knowhere bf iterator sparse" , op_context, cfg);
1697+ auto span_ptr = span != nullptr ? span->GetSpan () : milvus::tracer::SpanPtr{};
1698+ if (span_ptr != nullptr ) {
1699+ span_ptr->SetAttribute (meta::METRIC_TYPE , metric_str);
1700+ span_ptr->SetAttribute (meta::ROWS , rows);
1701+ span_ptr->SetAttribute (meta::DIM , dim);
1702+ span_ptr->SetAttribute (meta::NQ , nq);
17641703 }
17651704 // LCOV_EXCL_STOP
17661705#endif
@@ -1810,14 +1749,6 @@ BruteForceAnnIteratorImpl<knowhere::sparse::SparseRow<float>>(const DataSetPtr b
18101749 return expected<std::vector<IndexNode::IteratorPtr>>::Err (Status::brute_force_inner_error, e.what ());
18111750 }
18121751
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-
18211752 return vec;
18221753}
18231754
0 commit comments