39#include <neograph/provider.h>
46namespace neograph::observability {
71 using ChildSpanStarter =
72 std::function<std::unique_ptr<Span>(
Tracer&, std::string_view)>;
110 Span* current_parent() const noexcept;
114 ChildSpanStarter child_span_starter() const;
118 std::unique_ptr<Impl> impl_;
128 Tracer&, std::
string, std::
string);
139 std::
string root_name = "graph.run",
140 std::
string node_span_prefix = "node.");
168 std::function<
Span*()> parent_lookup =
nullptr,
169 std::string span_name =
"llm.complete");
176 std::string span_name =
"llm.complete");
180 std::string_view family() const noexcept override;
181 bool host_pumped() const noexcept override;
183 std::
string get_name() const override;
187 std::shared_ptr<sp::runtime::Client> endpoint_runtime() const override;
191 std::unique_ptr<Impl> impl_;
NEOGRAPH_API export/import macro for shared-library builds.
Capability identity plus a single prepared, owned operation contract.
Provider wrapper that emits OpenInference LLM spans.
OpenInferenceProvider(std::shared_ptr< Provider > inner, Tracer &tracer, std::function< Span *()> parent_lookup=nullptr, std::string span_name="llm.complete")
OpenInferenceProvider(std::shared_ptr< Provider > inner, Tracer &tracer, const OpenInferenceTracerSession &session, std::string span_name="llm.complete")
Safe parent-aware overload.
RAII session returned by openinference_tracer.
graph::GraphStreamCallback cb
Engine event callback. Pass to engine.run_stream().
Opaque per-request span; lifetime is unique_ptr.
Adapter facade for a tracing backend.
Graph engine type definitions: channels, edges, nodes, events, and control flow.
std::function< void(const GraphEvent &)> GraphStreamCallback
Callback for receiving graph execution events.
Portable request controls remain the SDK's declared, family-specific fields.
Dep-free abstract Tracer / Span interface.