Skip to main content
Glama
errors.ts1.2 kB
import { StoreOnActionListenerContext, StateTree, _GettersTree, _ActionsTree, } from "pinia"; import opentelemetry, { Span } from "@opentelemetry/api"; const handleStoreError = ({ name, // name of the action store, // store instance, same as `someStore` args, // array of parameters passed to the action onError, // hook if the action throws or rejects }: StoreOnActionListenerContext< string, StateTree, _GettersTree<StateTree>, _ActionsTree >) => { onError((error) => { const span = opentelemetry.trace.getActiveSpan(); const _report = (span: Span) => { span.setAttribute("error.stacktrace", (error as Error)?.stack || ""); span.setAttribute("error.message", (error as Error).message); span.setAttribute("error.store_$id", store.$id); span.setAttribute("error.store_fn_name", name); span.setAttribute("error.store_fn_args", JSON.stringify(args) || ""); }; if (span) { _report(span); } else { const tracer = opentelemetry.trace.getTracer("errorHandler"); tracer.startActiveSpan("error", (span) => { _report(span); span.end(); }); } }); }; export default handleStoreError;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server