Skip to content

Jevtraces

Alpha OpenTelemetry Collector processor that scores operation metadata with three Jev noul questions, caches the result, and writes it onto later matching spans as jevtraces.operation annotations.

Stars
0
Language
Go
License
APACHE-2.0
Published by
Community
Author
ishantanu
Last verified
Oct 2026

About this project

Jev inference over operation metadata, delivered as OpenTelemetry span annotations. jevtraces is an alpha OTel trace processor. It asks Jev whether representative traces containing an operation are likely useful for diagnosis, business-critical, and worth retaining. It caches those judgments and annotates later matching spans. The jevtraces processor retains every span, regardless of the returned probabilities.

Quoted from the project's README. Read the full README.

Highlights

  • It annotates, it does not sample: the processor retains every span regardless of the probabilities, and only the opt-in experiment branches into two pipelines.
  • Three independent noul probabilities, diagnostic_value, business_criticality and keep_probability, appear only on spans in the scored state.
  • Local rules bypass inference entirely, marking error status, slow duration and exact protected_operation names, and local protection outranks a cached score.
  • Cache identity is a hash of the exact request state, so two spans with identical descriptors share one assessment despite different trace and instance IDs.

Watch out

Alpha, and annotate is the only mode that validates: reduce and other modes fail validation, so nothing here reduces trace volume. Annotations add storage and indexing volume and the README states this version provides no volume reduction. The processor assesses operation metadata, not a complete trace or a specific request's outcome, a trace can contain spans with different assessments, and a low operation score is explicitly not permission to discard that span or its trace. Already-exported spans are never updated retrospectively and workers emit no additional spans, so a one-shot operation may only ever appear as pending. The request sends the span name unless include_span_name is false, the span kind and status code, the scope name and version, and the values of explicitly allowed resource and span attributes; unlisted attributes, URLs, query text, status messages, event names and payloads, links, IDs, timestamps and raw durations are not sent, but URLs and queries would go out if an operator added their attribute keys to an allow-list. Only scalar values are accepted, individual string fields cap at 512 bytes, max_state_bytes bounds the serialized state excluding the fixed question definitions, and each allow-list holds at most 64 keys, with oversized or unsupported metadata marked skipped without an API request. The jevtraces attribute namespace is reserved and existing attributes in it are replaced so stale scores are not forwarded. Building requires Go 1.26.0 or newer and Collector Builder v0.161.0, and the Prometheus names come from the example's internal exporter, which omits the _total suffix. Our README copy is truncated at the end of the cache-identity section, so anything beyond it, including the adaptive-sampling policy details kept in a separate document, is not documented here. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

5GitHub stars
Experimental OpenTelemetry Collector processor that asks Jev about metric metadata and applies explicit keep or drop policy, starting in annotate mode.
Jev Integrations & Adapters#community#awesomejev#catalog-import
69GitHub stars
Provider-neutral TypeScript runtime for System One decisions: write choice, noul, and score code once, then run it on TypeSafe Jev, local Reflex, any compatible /v1/systemone endpoint, or a custom provider.
Jev Integrations & Adapters#community#jevbest#catalog-import
25GitHub stars
Agent runtime with a terminal UI and a messaging gateway that keeps memory, self-built skills, session search, scheduling, and subagents across Telegram, Discord, Slack, WhatsApp, Signal, and CLI.
Jev Integrations & Adapters#community#jevbest#catalog-import
51GitHub stars
GraphRAG layer that runs a 4-phase ingest-to-answer pipeline over Neo4j, Memgraph, AGE or Kuzu using Laya or Jev decisions instead of per-hop LLM calls.
Jev Integrations & Adapters#community#jevbest#catalog-import
23GitHub stars
Memory-maintenance library that checks every stored memory against each new event with Jev yes-or-no votes, then marks stale facts superseded or contradicted instead of editing them.
Jev Integrations & Adapters#community#jevbest#catalog-import
41GitHub stars
Gateway-side admission control judging incoming requests with a typed decision model, layering cheap rules, synchronous judgment, and an async side path that never blocks responses.
Jev Integrations & Adapters#community#jevbest#catalog-import
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai