Skip to content

Test Log Analyzer

Finds similar past test failures and anomalous logs.

Industry Level Difficulty Recommended mode
Electrical & electronics 3 of 5 Advanced flat
  • Test logs pile up unsearchable.
  • Failures recur across boards.
  • Root causes are re-investigated.
  1. Log excerpts are embedded.
  2. Failures retrieve similar past failures and fixes.
  3. Logs far from normal are flagged.
  4. Batch processing for CI.
Today With Test Log Analyzer on SrvDB
Unsearchable logs Searchable history
Repeated debugging Past fixes found
Silent anomalies Flagged
  1. Collect logs.
  2. Embed.
  3. Match failures.
  4. Flag anomalies.
  5. Record fixes.
  • search_batch: runs many queries at once, in parallel inside Rust.
  • True cosine scores: scores in [-1, 1] mean the same in every mode, so thresholds are stable.
  • upsert: inserts new items and replaces changed ones, so the knowledge base stays current.
  • Crash-safe persist(): after it returns, data survives a crash or power loss and reopens exactly as committed.
  • Board bring-up
  • EMC test failures
  • Production test
  • Burn-in
  • Firmware regressions
  • Field returns

embed() is your embedding model (for example sentence-transformers, or a function that turns your records into feature vectors).

import json
import srvdb
db = srvdb.Database("./test-log-analyzer-db", dimension=384)
def ingest(items):
"""items: list of (id, text, metadata dict)"""
db.upsert(
ids=[i for i, _, _ in items],
embeddings=[embed(t) for _, t, _ in items],
metadatas=[json.dumps(m) for _, _, m in items],
)
db.persist() # crash-safe checkpoint
def similar_failures(log_excerpt, k=5):
hits = db.search(embed(log_excerpt), k)
return [(json.loads(db.get(i)), round(score, 3)) for i, score in hits]
  • Log format consistency helps.
  1. Prototype: load a sample of real data with flat mode and check that searches return what an expert expects.
  2. Measure: if you move to an approximate mode, compare its results with flat on the same queries (recall).
  3. Pipeline: add continuous upsert and decide when to call persist().
  4. Harden: test restarts and crashes, add logging, review every output path with domain experts.
  5. Deploy: ship the database directory with the application or service.
Level Project What it does
1 · Beginner Datasheet Q&A Ask questions of your component datasheets and get page citations.
2 · Intermediate Second-source Finder Suggests substitute components by specification similarity.
3 · Advanced Test Log Analyzer (this page) Finds similar past test failures and anomalous logs.
4 · Expert Hardware Lab Agent An agent that remembers bench sessions, scope captures and decisions.
5 · Frontier RF Fingerprint Lab Similarity search over RF spectrum fingerprints (research).

See also: Use cases · Live examples (coming soon)