mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-29 15:05:31 +08:00
enhance: add monitor metric for retrieve raw data (#40141)
#40078 Signed-off-by: luzhang <luzhang@zilliz.com> Co-authored-by: luzhang <luzhang@zilliz.com>
This commit is contained in:
parent
944f018375
commit
7a17fb68ec
@ -183,6 +183,11 @@ std::map<std::string, std::string> scalarProportionLabels{
|
||||
{"type", "scalar_proportion"}};
|
||||
std::map<std::string, std::string> getVectorLatencyLabels{
|
||||
{"type", "get_vector_latency"}};
|
||||
std::map<std::string, std::string> retrieveGetTargetEntryLatencyLabels{
|
||||
{"type", "retrieve_get_target_entry_latency"}};
|
||||
std::map<std::string, std::string> searchGetTargetEntryLatencyLabels{
|
||||
{"type", "search_get_target_entry_latency"}};
|
||||
|
||||
DEFINE_PROMETHEUS_HISTOGRAM_FAMILY(internal_core_search_latency,
|
||||
"[cpp]latency(us) of search on segment")
|
||||
DEFINE_PROMETHEUS_HISTOGRAM(internal_core_search_latency_scalar,
|
||||
@ -205,7 +210,12 @@ DEFINE_PROMETHEUS_HISTOGRAM_WITH_BUCKETS(
|
||||
DEFINE_PROMETHEUS_HISTOGRAM(internal_core_get_vector_latency,
|
||||
internal_core_search_latency,
|
||||
getVectorLatencyLabels)
|
||||
|
||||
DEFINE_PROMETHEUS_HISTOGRAM(internal_core_retrieve_get_target_entry_latency,
|
||||
internal_core_search_latency,
|
||||
retrieveGetTargetEntryLatencyLabels)
|
||||
DEFINE_PROMETHEUS_HISTOGRAM(internal_core_search_get_target_entry_latency,
|
||||
internal_core_search_latency,
|
||||
searchGetTargetEntryLatencyLabels)
|
||||
// mmap metrics
|
||||
std::map<std::string, std::string> mmapAllocatedSpaceAnonLabel = {
|
||||
{"type", "anon"}};
|
||||
|
||||
@ -139,5 +139,7 @@ DECLARE_PROMETHEUS_HISTOGRAM(internal_core_search_latency_groupby);
|
||||
DECLARE_PROMETHEUS_HISTOGRAM(internal_core_search_latency_iterative_filter);
|
||||
DECLARE_PROMETHEUS_HISTOGRAM(internal_core_search_latency_scalar_proportion);
|
||||
DECLARE_PROMETHEUS_HISTOGRAM(internal_core_get_vector_latency);
|
||||
DECLARE_PROMETHEUS_HISTOGRAM(internal_core_retrieve_get_target_entry_latency);
|
||||
DECLARE_PROMETHEUS_HISTOGRAM(internal_core_search_get_target_entry_latency);
|
||||
|
||||
} // namespace milvus::monitor
|
||||
|
||||
@ -125,6 +125,9 @@ SegmentInternalInterface::Retrieve(tracer::TraceContext* trace_ctx,
|
||||
|
||||
results->mutable_offset()->Add(retrieve_results.result_offsets_.begin(),
|
||||
retrieve_results.result_offsets_.end());
|
||||
|
||||
std::chrono::high_resolution_clock::time_point get_target_entry_start =
|
||||
std::chrono::high_resolution_clock::now();
|
||||
FillTargetEntry(trace_ctx,
|
||||
plan,
|
||||
results,
|
||||
@ -132,6 +135,13 @@ SegmentInternalInterface::Retrieve(tracer::TraceContext* trace_ctx,
|
||||
retrieve_results.result_offsets_.size(),
|
||||
ignore_non_pk,
|
||||
true);
|
||||
std::chrono::high_resolution_clock::time_point get_target_entry_end =
|
||||
std::chrono::high_resolution_clock::now();
|
||||
double get_entry_cost = std::chrono::duration<double, std::micro>(
|
||||
get_target_entry_end - get_target_entry_start)
|
||||
.count();
|
||||
monitor::internal_core_retrieve_get_target_entry_latency.Observe(
|
||||
get_entry_cost / 1000);
|
||||
return results;
|
||||
}
|
||||
|
||||
@ -242,7 +252,16 @@ SegmentInternalInterface::Retrieve(tracer::TraceContext* trace_ctx,
|
||||
std::shared_lock lck(mutex_);
|
||||
tracer::AutoSpan span("RetrieveByOffsets", tracer::GetRootSpan());
|
||||
auto results = std::make_unique<proto::segcore::RetrieveResults>();
|
||||
std::chrono::high_resolution_clock::time_point get_target_entry_start =
|
||||
std::chrono::high_resolution_clock::now();
|
||||
FillTargetEntry(trace_ctx, Plan, results, offsets, size, false, false);
|
||||
std::chrono::high_resolution_clock::time_point get_target_entry_end =
|
||||
std::chrono::high_resolution_clock::now();
|
||||
double get_entry_cost = std::chrono::duration<double, std::micro>(
|
||||
get_target_entry_end - get_target_entry_start)
|
||||
.count();
|
||||
monitor::internal_core_retrieve_get_target_entry_latency.Observe(
|
||||
get_entry_cost / 1000);
|
||||
return results;
|
||||
}
|
||||
|
||||
|
||||
@ -189,7 +189,17 @@ ReduceHelper::FillEntryData() {
|
||||
for (auto search_result : search_results_) {
|
||||
auto segment = static_cast<milvus::segcore::SegmentInterface*>(
|
||||
search_result->segment_);
|
||||
std::chrono::high_resolution_clock::time_point get_target_entry_start =
|
||||
std::chrono::high_resolution_clock::now();
|
||||
segment->FillTargetEntry(plan_, *search_result);
|
||||
std::chrono::high_resolution_clock::time_point get_target_entry_end =
|
||||
std::chrono::high_resolution_clock::now();
|
||||
double get_entry_cost =
|
||||
std::chrono::duration<double, std::micro>(get_target_entry_end -
|
||||
get_target_entry_start)
|
||||
.count();
|
||||
monitor::internal_core_search_get_target_entry_latency.Observe(
|
||||
get_entry_cost / 1000);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user