Skip to content

Commit 427d2d0

Browse files
authored
fix(milvus): updated the instrumentation to collect get() and create_collection() span attributes (#2687)
1 parent 5ce45ef commit 427d2d0

File tree

5 files changed

+150
-18
lines changed

5 files changed

+150
-18
lines changed

packages/opentelemetry-instrumentation-milvus/opentelemetry/instrumentation/milvus/__init__.py

+6
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,12 @@
2020
_instruments = ("pymilvus >= 2.4.1",)
2121

2222
WRAPPED_METHODS = [
23+
{
24+
"package": pymilvus,
25+
"object": "MilvusClient",
26+
"method": "create_collection",
27+
"span_name": "milvus.create_collection"
28+
},
2329
{
2430
"package": pymilvus,
2531
"object": "MilvusClient",

packages/opentelemetry-instrumentation-milvus/opentelemetry/instrumentation/milvus/wrapper.py

+49-8
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ def _wrap(tracer, to_wrap, wrapped, instance, args, kwargs):
5151
_set_get_attributes(span, kwargs)
5252
elif to_wrap.get("method") == "query":
5353
_set_query_attributes(span, kwargs)
54+
elif to_wrap.get("method") == "create_collection":
55+
_set_create_collection_attributes(span, kwargs)
5456

5557
return_value = wrapped(*args, **kwargs)
5658
if to_wrap.get("method") == "query":
@@ -90,6 +92,45 @@ def count_or_none(obj):
9092
return None
9193

9294

95+
@dont_throw
96+
def _set_create_collection_attributes(span, kwargs):
97+
_set_span_attribute(
98+
span,
99+
AISpanAttributes.MILVUS_CREATE_COLLECTION_NAME,
100+
kwargs.get("collection_name"),
101+
)
102+
_set_span_attribute(
103+
span,
104+
AISpanAttributes.MILVUS_CREATE_COLLECTION_DIMENSION,
105+
kwargs.get("dimension"),
106+
)
107+
_set_span_attribute(
108+
span,
109+
AISpanAttributes.MILVUS_CREATE_COLLECTION_PRIMARY_FIELD,
110+
kwargs.get("primary_field_name"),
111+
)
112+
_set_span_attribute(
113+
span,
114+
AISpanAttributes.MILVUS_CREATE_COLLECTION_METRIC_TYPE,
115+
kwargs.get("metric_type"),
116+
)
117+
_set_span_attribute(
118+
span,
119+
AISpanAttributes.MILVUS_CREATE_COLLECTION_TIMEOUT,
120+
kwargs.get("timeout"),
121+
)
122+
_set_span_attribute(
123+
span,
124+
AISpanAttributes.MILVUS_CREATE_COLLECTION_ID_TYPE,
125+
kwargs.get("id_type"),
126+
)
127+
_set_span_attribute(
128+
span,
129+
AISpanAttributes.MILVUS_CREATE_COLLECTION_VECTOR_FIELD,
130+
kwargs.get("vector_field_name"),
131+
)
132+
133+
93134
@dont_throw
94135
def _set_insert_attributes(span, kwargs):
95136
_set_span_attribute(
@@ -118,15 +159,15 @@ def _set_get_attributes(span, kwargs):
118159
span, AISpanAttributes.MILVUS_GET_COLLECTION_NAME, kwargs.get("collection_name")
119160
)
120161
_set_span_attribute(
121-
span, AISpanAttributes.MILVUS_QUERY_IDS_COUNT, count_or_none(kwargs.get("ids"))
162+
span, AISpanAttributes.MILVUS_GET_IDS_COUNT, count_or_none(kwargs.get("ids"))
122163
)
123164
_set_span_attribute(
124165
span,
125-
AISpanAttributes.MILVUS_SEARCH_OUTPUT_FIELDS_COUNT,
166+
AISpanAttributes.MILVUS_GET_OUTPUT_FIELDS_COUNT,
126167
count_or_none(kwargs.get("output_fields")),
127168
)
128169
_set_span_attribute(
129-
span, AISpanAttributes.MILVUS_INSERT_TIMEOUT, kwargs.get("timeout")
170+
span, AISpanAttributes.MILVUS_GET_TIMEOUT, kwargs.get("timeout")
130171
)
131172
_set_span_attribute(
132173
span,
@@ -165,7 +206,7 @@ def _set_search_attributes(span, kwargs):
165206
_set_span_attribute(
166207
span,
167208
AISpanAttributes.MILVUS_SEARCH_PARTITION_NAMES_COUNT,
168-
kwargs.get("partition_name"),
209+
count_or_none(kwargs.get("partition_names")),
169210
)
170211
_set_span_attribute(
171212
span, AISpanAttributes.MILVUS_SEARCH_ANNS_FIELD, kwargs.get("anns_field")
@@ -221,8 +262,8 @@ def _set_upsert_attributes(span, kwargs):
221262
)
222263
_set_span_attribute(
223264
span,
224-
AISpanAttributes.MILVUS_UPSERT_TIMEOUT_COUNT,
225-
count_or_none(kwargs.get("timeout")),
265+
AISpanAttributes.MILVUS_UPSERT_TIMEOUT,
266+
kwargs.get("timeout"),
226267
)
227268
_set_span_attribute(
228269
span,
@@ -240,8 +281,8 @@ def _set_delete_attributes(span, kwargs):
240281
)
241282
_set_span_attribute(
242283
span,
243-
AISpanAttributes.MILVUS_DELETE_TIMEOUT_COUNT,
244-
count_or_none(kwargs.get("timeout")),
284+
AISpanAttributes.MILVUS_DELETE_TIMEOUT,
285+
kwargs.get("timeout"),
245286
)
246287
_set_span_attribute(
247288
span,

0 commit comments

Comments
 (0)