UNPKG

openlit

Version:

OpenTelemetry-native Auto instrumentation library for monitoring LLM Applications, facilitating the integration of observability into your GenAI-driven projects

31 lines 1.66 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const config_1 = __importDefault(require("../config")); const constant_1 = require("../constant"); const semantic_convention_1 = __importDefault(require("../semantic-convention")); const api_1 = require("@opentelemetry/api"); class BaseWrapper { static setBaseSpanAttributes(span, { genAIEndpoint, model, user, cost, aiSystem }) { const applicationName = config_1.default.applicationName; const environment = config_1.default.environment; span.setAttributes({ [constant_1.TELEMETRY_SDK_NAME]: constant_1.SDK_NAME, }); span.setAttribute(constant_1.TELEMETRY_SDK_NAME, constant_1.SDK_NAME); span.setAttribute(semantic_convention_1.default.GEN_AI_SYSTEM, aiSystem); span.setAttribute(semantic_convention_1.default.GEN_AI_ENDPOINT, genAIEndpoint); span.setAttribute(semantic_convention_1.default.GEN_AI_ENVIRONMENT, environment); span.setAttribute(semantic_convention_1.default.GEN_AI_APPLICATION_NAME, applicationName); span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_MODEL, model); span.setAttribute(semantic_convention_1.default.GEN_AI_REQUEST_USER, user); if (cost !== undefined) { span.setAttribute(semantic_convention_1.default.GEN_AI_USAGE_COST, cost); } span.setStatus({ code: api_1.SpanStatusCode.OK }); } } exports.default = BaseWrapper; //# sourceMappingURL=base-wrapper.js.map