Observability
- Sentry
- Transactions vs Spans
- from https://docs.sentry.io/product/sentry-basics/tracing/distributed-tracing/
- Span
- Spans in OpenTelemetry
- A Span represents a unit of work or operation. Spans are the building blocks of Traces.
- A Span is best used to when the operation has a start and an end.
- A Span Event is a information of the Span. It’s best used to track operations with singular point in time.
LLM Link to heading
- arize
- baserun - From identifying an issue to evaluating the solution
- Datadog - OpenAI Monitoring
- fiddler -
- Gantry - observability, analytics, and evaluation for your AI-powered products.
- Helicone - monitoring, logging, and tracing for your LLM applications out of the box #OpenSource
- OpenInference - set of conventions and plugins that is complimentary to OpenTelemetry #OpenSource
- OpenLLMetry - set of extensions built on top of OpenTelemetry #OpenSource
- Phoenix - Evaluate, troubleshoot, and fine tune your LLM, CV, and NLP models in a notebook #OpenSource
- Vellum - prompt engineering, semantic search, version control, quantitative testing, and performance monitoring.
OpenTelemetry Link to heading
- Python SDK
- Python instrumentation - API doc - GitHub - opentelemetry-python-contrib
- How to set the trace ID manually? - Discussion - Docs
tracer = get_tracer() propagator = get_global_textmap() headers = request.headers context = propagator.extract(headers) with tracer.start_as_current_span("span_name", context=context): ... ```
- How to rename
RequestsInstrumentor
events? passing a function for thename_callback
argument - How to manually add
trace_id
to a transactioncontext = context=get_global_textmap().extract(app.current_request.headers) with tracer.start_as_current_span("span_name", content=content): ... ``` - [Example](https://github.com/getsentry/sentry-python/blob/1e3e1097e104abb39799b59654bf4f8725448909/sentry_sdk/integrations/opentelemetry/propagator.py#L45) of a propagator (textmap) extract