Auto-instrument every Qdrant search, upsert, and scroll call, with zero code changes. Qdrant spans integrate as child spans inside LangChain traces for full RAG pipeline visibility.
Free tier · No credit card · 2-minute setup
client.search() and client.scroll() are traced with collection name, filter params, limit, latency, and result counts, full visibility into retrieval performance.
Batch upsert operations are traced with point counts, vector dimensionality, and total timing, monitor ingestion throughput alongside query performance.
Qdrant spans appear as children inside LangChain traces, cost and latency roll up to the parent RAG trace automatically.
import fluiq
fluiq.instrument(api_key="fl_...") # patches Qdrant client automatically
from qdrant_client import QdrantClient
from qdrant_client.models import Distance, VectorParams, PointStruct
import numpy as np
client = QdrantClient("localhost", port=6333)
client.create_collection("my-collection",
vectors_config=VectorParams(size=1536, distance=Distance.COSINE))
# Upsert is traced with point count:
client.upsert("my-collection", points=[
PointStruct(id=1, vector=np.random.rand(1536).tolist(),
payload={"source": "doc1"}),
])
# Search is traced with filters, limit, and latency:
results = client.search("my-collection",
query_vector=np.random.rand(1536).tolist(), limit=5)Every call to these methods is automatically traced, no decorators, no wrappers, no manual spans.
QdrantClient.search()QdrantClient.search_batch()QdrantClient.upsert()QdrantClient.scroll()QdrantClient.delete()QdrantClient.create_collection()QdrantClient.get_collection()AsyncQdrantClient.search()Free tier. No credit card. Full traces, security scanning, and evals on your first Qdrant call.
50,000 free traces / month · 1,000 evals / month · 14-day retention