Observability at Inferable takes two forms:

  • Control Plane Observability - This is the observability of the control plane, which is the core of Inferable. This includes the control plane’s API, the control plane’s internal events, and LLM invocations.
  • Compute Observability - This is the observability of the tool, and workflow executions.

Control Plane Observability

Since Control Plane is an external service, we provide a Playground for monitoring all events within your cluster in real-time.

The Playground provides the ability to:

  • View a chronological list of all events across your clusters and runs
  • Filter events by cluster, run, or specific machines
  • Review individual event details, including input, output, and execution time

Events can also be retreived via the API.

Compute Observability

All the “handlers” that are run by tools and workflows run within your own compute environment. Therefore, you can easily instrument.trigger()s and workflows to capture the data you need, using the tools that you’re already using.

import observability from "my-observability-library";

inferable.default.register({
  name: "greet",
  description: "Greet the user",
  func: async (input) => {
    // This just works!
    const span = observability.startSpan("greet");
    const result = await internalHelloFunction(input);
    observability.endSpan(span, result);

    return result;
  },
  schema: {
    input: z.object({
      userName: z.string(),
    }),
  },
});