@respan/tracing 1.0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +860 -0
  3. package/dist/constants/index.d.ts +8 -0
  4. package/dist/constants/index.js +9 -0
  5. package/dist/constants/index.js.map +1 -0
  6. package/dist/contexts/index.d.ts +1 -0
  7. package/dist/contexts/index.js +2 -0
  8. package/dist/contexts/index.js.map +1 -0
  9. package/dist/contexts/span.d.ts +9 -0
  10. package/dist/contexts/span.js +39 -0
  11. package/dist/contexts/span.js.map +1 -0
  12. package/dist/decorators/base.d.ts +32 -0
  13. package/dist/decorators/base.js +242 -0
  14. package/dist/decorators/base.js.map +1 -0
  15. package/dist/decorators/index.d.ts +1 -0
  16. package/dist/decorators/index.js +2 -0
  17. package/dist/decorators/index.js.map +1 -0
  18. package/dist/index.d.ts +10 -0
  19. package/dist/index.js +8 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/instrumentation/index.d.ts +2 -0
  22. package/dist/instrumentation/index.js +3 -0
  23. package/dist/instrumentation/index.js.map +1 -0
  24. package/dist/instrumentation/loader.d.ts +5 -0
  25. package/dist/instrumentation/loader.js +104 -0
  26. package/dist/instrumentation/loader.js.map +1 -0
  27. package/dist/instrumentation/manager.d.ts +29 -0
  28. package/dist/instrumentation/manager.js +564 -0
  29. package/dist/instrumentation/manager.js.map +1 -0
  30. package/dist/main.d.ts +162 -0
  31. package/dist/main.js +212 -0
  32. package/dist/main.js.map +1 -0
  33. package/dist/processor/composite.d.ts +29 -0
  34. package/dist/processor/composite.js +106 -0
  35. package/dist/processor/composite.js.map +1 -0
  36. package/dist/processor/filtering.d.ts +19 -0
  37. package/dist/processor/filtering.js +78 -0
  38. package/dist/processor/filtering.js.map +1 -0
  39. package/dist/processor/index.d.ts +3 -0
  40. package/dist/processor/index.js +4 -0
  41. package/dist/processor/index.js.map +1 -0
  42. package/dist/processor/manager.d.ts +61 -0
  43. package/dist/processor/manager.js +111 -0
  44. package/dist/processor/manager.js.map +1 -0
  45. package/dist/types/clientTypes.d.ts +188 -0
  46. package/dist/types/clientTypes.js +22 -0
  47. package/dist/types/clientTypes.js.map +1 -0
  48. package/dist/types/decoratorTypes.d.ts +6 -0
  49. package/dist/types/decoratorTypes.js +2 -0
  50. package/dist/types/decoratorTypes.js.map +1 -0
  51. package/dist/types/index.d.ts +3 -0
  52. package/dist/types/index.js +4 -0
  53. package/dist/types/index.js.map +1 -0
  54. package/dist/types/instrumentationTypes.d.ts +25 -0
  55. package/dist/types/instrumentationTypes.js +82 -0
  56. package/dist/types/instrumentationTypes.js.map +1 -0
  57. package/dist/utils/client.d.ts +168 -0
  58. package/dist/utils/client.js +151 -0
  59. package/dist/utils/client.js.map +1 -0
  60. package/dist/utils/context.d.ts +28 -0
  61. package/dist/utils/context.js +44 -0
  62. package/dist/utils/context.js.map +1 -0
  63. package/dist/utils/index.d.ts +5 -0
  64. package/dist/utils/index.js +8 -0
  65. package/dist/utils/index.js.map +1 -0
  66. package/dist/utils/span.d.ts +65 -0
  67. package/dist/utils/span.js +269 -0
  68. package/dist/utils/span.js.map +1 -0
  69. package/dist/utils/spanBuffer.d.ts +94 -0
  70. package/dist/utils/spanBuffer.js +147 -0
  71. package/dist/utils/spanBuffer.js.map +1 -0
  72. package/dist/utils/tracing.d.ts +31 -0
  73. package/dist/utils/tracing.js +239 -0
  74. package/dist/utils/tracing.js.map +1 -0
  75. package/package.json +72 -0
@@ -0,0 +1,239 @@
1
+ import { NodeSDK } from "@opentelemetry/sdk-node";
2
+ import { diag, DiagLogLevel } from "@opentelemetry/api";
3
+ import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-proto";
4
+ import { Resource } from "@opentelemetry/resources";
5
+ import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions";
6
+ import { MultiProcessorManager } from "../processor/manager.js";
7
+ import { RespanCompositeProcessor } from "../processor/composite.js";
8
+ import { getInstrumentations, initInstrumentations, manuallyInitInstrumentations, configureTraceContent } from "../instrumentation/index.js";
9
+ import { shouldSendTraces } from "./context.js";
10
+ // Global SDK instance (singleton)
11
+ let _sdk;
12
+ let _initialized = false;
13
+ let _compositeProcessor;
14
+ /**
15
+ * Helper function to resolve and clean up the base URL
16
+ */
17
+ export const _resolveBaseURL = (baseURL) => {
18
+ const originalUrl = baseURL;
19
+ // Remove trailing slash if it exists
20
+ if (baseURL.endsWith("/")) {
21
+ baseURL = baseURL.slice(0, -1);
22
+ }
23
+ // Remove trailing /api if it exists
24
+ if (baseURL.endsWith("/api")) {
25
+ baseURL = baseURL.slice(0, -4);
26
+ }
27
+ // Debug logging for URL resolution
28
+ if (originalUrl !== baseURL) {
29
+ console.debug(`[Respan Debug] URL resolved: "${originalUrl}" -> "${baseURL}"`);
30
+ }
31
+ else {
32
+ console.debug(`[Respan Debug] URL used as-is: "${baseURL}"`);
33
+ }
34
+ return baseURL;
35
+ };
36
+ /**
37
+ * Initializes the OpenTelemetry SDK with Respan-specific configuration.
38
+ * This sets up the entire tracing pipeline: collection, processing, and export.
39
+ *
40
+ * @param options - Configuration options for the tracing setup
41
+ */
42
+ export const startTracing = async (options) => {
43
+ // Prevent multiple initializations
44
+ if (_initialized) {
45
+ console.log("[Respan] Tracing already initialized, skipping...");
46
+ return;
47
+ }
48
+ const { appName = "respan-app", apiKey = process.env.RESPAN_API_KEY || "", baseURL = process.env.RESPAN_BASE_URL || "https://api.respan.co", logLevel = "error", exporter, headers = {}, propagator, contextManager, silenceInitializationMessage = false, tracingEnabled = true, instrumentModules, traceContent = true, disabledInstrumentations = [], resourceAttributes = {}, spanPostprocessCallback, } = options;
49
+ // Debug logging for configuration
50
+ console.debug("[Respan Debug] Tracing configuration:", {
51
+ appName,
52
+ baseURL,
53
+ logLevel,
54
+ tracingEnabled,
55
+ traceContent,
56
+ hasApiKey: !!apiKey,
57
+ apiKeyLength: apiKey?.length || 0,
58
+ hasInstrumentModules: !!(instrumentModules && Object.keys(instrumentModules).length > 0),
59
+ instrumentModulesKeys: instrumentModules
60
+ ? Object.keys(instrumentModules)
61
+ : [],
62
+ customHeaders: Object.keys(headers),
63
+ disabledInstrumentations: disabledInstrumentations || [],
64
+ });
65
+ if (!tracingEnabled) {
66
+ if (!silenceInitializationMessage) {
67
+ console.log("Respan tracing is disabled");
68
+ }
69
+ return;
70
+ }
71
+ // Debug API key validation
72
+ if (!apiKey) {
73
+ console.error("[Respan Debug] WARNING: No API key provided. Traces may be rejected by the server.");
74
+ }
75
+ else if (apiKey.length < 10) {
76
+ console.warn("[Respan Debug] WARNING: API key seems unusually short. Please verify it's correct.");
77
+ }
78
+ // Initialize instrumentations with enhanced error logging
79
+ try {
80
+ if (instrumentModules && Object.keys(instrumentModules).length > 0) {
81
+ console.debug("[Respan Debug] Using manual instrumentation for modules:", Object.keys(instrumentModules));
82
+ await manuallyInitInstrumentations(instrumentModules, disabledInstrumentations);
83
+ }
84
+ else {
85
+ console.debug("[Respan Debug] Using automatic instrumentation discovery");
86
+ await initInstrumentations(disabledInstrumentations, false); // false = don't show warnings for auto-discovery
87
+ }
88
+ const instrumentationsList = getInstrumentations();
89
+ console.debug(`[Respan Debug] Total instrumentations ready for SDK: ${instrumentationsList.length}`);
90
+ }
91
+ catch (error) {
92
+ console.error("[Respan Debug] Error during instrumentation initialization:", error);
93
+ throw error;
94
+ }
95
+ // Configure trace content for instrumentations
96
+ const shouldCapture = shouldSendTraces() && traceContent;
97
+ configureTraceContent(shouldCapture);
98
+ if (!shouldCapture) {
99
+ console.debug("[Respan Debug] Trace content disabled - sensitive data will not be captured");
100
+ }
101
+ else {
102
+ console.debug("[Respan Debug] Trace content enabled - input/output data will be captured");
103
+ }
104
+ // Set log level using proper DiagLogLevel
105
+ const diagLogLevel = logLevel === "debug"
106
+ ? DiagLogLevel.DEBUG
107
+ : logLevel === "info"
108
+ ? DiagLogLevel.INFO
109
+ : logLevel === "warn"
110
+ ? DiagLogLevel.WARN
111
+ : DiagLogLevel.ERROR;
112
+ console.debug(`[Respan Debug] Setting OpenTelemetry diagnostic log level to: ${logLevel}`);
113
+ diag.setLogger({
114
+ error: (...args) => console.error("[Respan OpenTelemetry]", ...args),
115
+ warn: (...args) => console.warn("[Respan OpenTelemetry]", ...args),
116
+ info: (...args) => console.info("[Respan OpenTelemetry]", ...args),
117
+ debug: (...args) => console.debug("[Respan OpenTelemetry]", ...args),
118
+ verbose: (...args) => console.debug("[Respan OpenTelemetry Verbose]", ...args),
119
+ }, diagLogLevel);
120
+ // Create resource with custom attributes
121
+ const resource = new Resource({
122
+ [ATTR_SERVICE_NAME]: appName,
123
+ ...resourceAttributes,
124
+ });
125
+ console.debug("[Respan Debug] Created resource with service name:", appName, "and attributes:", resourceAttributes);
126
+ // Prepare exporter URL and configuration
127
+ const exporterUrl = `${_resolveBaseURL(baseURL)}/api/v1/traces`;
128
+ const exporterHeaders = {
129
+ Authorization: `Bearer ${apiKey}`,
130
+ "Content-Type": "application/x-protobuf",
131
+ ...headers,
132
+ };
133
+ console.debug("[Respan Debug] Exporter configuration:", {
134
+ url: exporterUrl,
135
+ headersCount: Object.keys(exporterHeaders).length,
136
+ hasAuth: exporterHeaders.Authorization ? "Yes" : "No",
137
+ customHeaderKeys: Object.keys(headers),
138
+ });
139
+ // Create exporter with enhanced error handling
140
+ const traceExporter = exporter ||
141
+ new OTLPTraceExporter({
142
+ url: exporterUrl,
143
+ headers: exporterHeaders,
144
+ });
145
+ console.debug("[Respan Debug] Created OTLP trace exporter");
146
+ // Initialize multi-processor manager
147
+ const processorManager = new MultiProcessorManager();
148
+ // Add default Respan processor to the manager
149
+ // This ensures backward compatibility: spans without a `processors` attribute
150
+ // automatically go to the default Respan exporter
151
+ processorManager.addProcessor({
152
+ exporter: traceExporter,
153
+ name: "default",
154
+ priority: 0,
155
+ });
156
+ console.debug("[Respan Debug] Added default processor to multi-processor manager (backward compatibility)");
157
+ // Create composite processor that does filtering + routing
158
+ // Flow: SDK -> CompositeProcessor (filters) -> ProcessorManager (routes) -> Individual Processors
159
+ _compositeProcessor = new RespanCompositeProcessor(processorManager, spanPostprocessCallback);
160
+ console.debug("[Respan Debug] Created composite processor - filters spans and routes to multiple processors");
161
+ // Get instrumentations for SDK
162
+ const instrumentationsList = getInstrumentations();
163
+ // Initialize SDK
164
+ console.debug(`[Respan Debug] Initializing NodeSDK with ${instrumentationsList.length} successfully loaded instrumentations:`, instrumentationsList.map((inst) => inst.constructor.name));
165
+ _sdk = new NodeSDK({
166
+ resource,
167
+ spanProcessors: [_compositeProcessor],
168
+ instrumentations: instrumentationsList,
169
+ textMapPropagator: propagator,
170
+ contextManager,
171
+ });
172
+ try {
173
+ console.debug("[Respan Debug] Starting OpenTelemetry SDK...");
174
+ _sdk.start();
175
+ _initialized = true;
176
+ console.debug("[Respan Debug] SDK started successfully");
177
+ if (!silenceInitializationMessage) {
178
+ console.log("Respan tracing initialized successfully");
179
+ console.log(`[Respan Debug] Traces will be sent to: ${exporterUrl}`);
180
+ }
181
+ }
182
+ catch (error) {
183
+ console.error("[Respan Debug] Failed to start OpenTelemetry SDK:", error);
184
+ console.error("[Respan Debug] Error details:", {
185
+ message: error.message,
186
+ stack: error.stack,
187
+ exporterUrl,
188
+ instrumentationCount: instrumentationsList.length,
189
+ });
190
+ throw error;
191
+ }
192
+ };
193
+ /**
194
+ * Enhanced error logging for forceFlush
195
+ */
196
+ export const forceFlush = async () => {
197
+ if (_sdk) {
198
+ try {
199
+ console.debug("[Respan Debug] Shutting down SDK and flushing traces...");
200
+ await _sdk.shutdown();
201
+ console.debug("[Respan Debug] SDK shutdown completed");
202
+ }
203
+ catch (error) {
204
+ console.error("[Respan Debug] Error during SDK shutdown:", error);
205
+ console.error("[Respan Debug] Shutdown error details:", {
206
+ message: error.message,
207
+ stack: error.stack,
208
+ });
209
+ }
210
+ }
211
+ else {
212
+ console.debug("[Respan Debug] No SDK to shutdown");
213
+ }
214
+ };
215
+ /**
216
+ * Gets the current SDK instance.
217
+ * Useful for advanced configuration or checking if tracing is initialized.
218
+ *
219
+ * @returns The NodeSDK instance or undefined if not initialized
220
+ */
221
+ export const getClient = () => {
222
+ return _sdk;
223
+ };
224
+ /**
225
+ * Add a processor to the SDK for routing spans.
226
+ * This allows routing spans to different destinations based on processor names.
227
+ *
228
+ * @param config - Processor configuration
229
+ */
230
+ export const addProcessorToSDK = (config) => {
231
+ if (!_compositeProcessor) {
232
+ console.error("[Respan] Cannot add processor - SDK not initialized");
233
+ return;
234
+ }
235
+ const processorManager = _compositeProcessor.getProcessorManager();
236
+ processorManager.addProcessor(config);
237
+ console.log(`[Respan] Added processor: ${config.name}`);
238
+ };
239
+ //# sourceMappingURL=tracing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracing.js","sourceRoot":"","sources":["../../src/utils/tracing.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,72 @@
1
+ {
2
+ "name": "@respan/tracing",
3
+ "type": "module",
4
+ "version": "1.0.45",
5
+ "description": "TypeScript support for Respan SDK",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "files": [
9
+ "dist",
10
+ "README.md",
11
+ "LICENSE"
12
+ ],
13
+ "publishConfig": {
14
+ "access": "public"
15
+ },
16
+ "scripts": {
17
+ "build": "tsc",
18
+ "watch:test": "tsc -p tsconfig.test.json --watch",
19
+ "dev": "yarn build && cd examples && yarn dev",
20
+ "examples:install": "cd examples && yarn install",
21
+ "examples:basic": "yarn build && cd examples && yarn basic",
22
+ "examples:advanced": "yarn build && cd examples && yarn dev",
23
+ "test:build": "npm run build && npm pack && npm install ./respan-tracing-*.tgz --no-save && tsx tests/test_build.ts"
24
+ },
25
+ "repository": "https://github.com/respan-ai/respan-sdks.git",
26
+ "author": "Respan <team@respan.ai>",
27
+ "license": "Apache-2.0",
28
+ "dependencies": {
29
+ "@respan/respan-sdk": "^1.0.0",
30
+ "@opentelemetry/api": "^1.9.0",
31
+ "@opentelemetry/core": "^1.26.0",
32
+ "@opentelemetry/exporter-trace-otlp-proto": "^0.56.0",
33
+ "@opentelemetry/resources": "^1.26.0",
34
+ "@opentelemetry/sdk-node": "^0.56.0",
35
+ "@opentelemetry/sdk-trace-base": "^1.26.0",
36
+ "@opentelemetry/sdk-trace-node": "^1.26.0",
37
+ "@opentelemetry/semantic-conventions": "^1.27.0",
38
+ "@traceloop/ai-semantic-conventions": "^0.13.0"
39
+ },
40
+ "devDependencies": {
41
+ "@ai-sdk/openai": "^1.3.6",
42
+ "@anthropic-ai/sdk": "0.41.0",
43
+ "@vercel/otel": "^1.10.4",
44
+ "ai": "^4.2.10",
45
+ "dotenv": "^16.4.7",
46
+ "openai": "^4.80.1",
47
+ "ts-node": "^10.9.2",
48
+ "tsx": "^4.19.2",
49
+ "typescript": "^5.7.3",
50
+ "zod": "^3.24.2"
51
+ },
52
+ "optionalDependencies": {
53
+ "@traceloop/instrumentation-anthropic": "^0.22.2",
54
+ "@traceloop/instrumentation-azure": "^0.13.0",
55
+ "@traceloop/instrumentation-bedrock": "^0.13.0",
56
+ "@traceloop/instrumentation-chromadb": "^0.13.0",
57
+ "@traceloop/instrumentation-cohere": "^0.13.0",
58
+ "@traceloop/instrumentation-langchain": "^0.13.0",
59
+ "@traceloop/instrumentation-llamaindex": "^0.13.0",
60
+ "@traceloop/instrumentation-openai": "^0.14.4",
61
+ "@traceloop/instrumentation-pinecone": "^0.13.0",
62
+ "@traceloop/instrumentation-qdrant": "^0.13.0",
63
+ "@traceloop/instrumentation-together": "^0.13.0",
64
+ "@traceloop/instrumentation-vertexai": "^0.13.0"
65
+ },
66
+ "os": [
67
+ "darwin",
68
+ "linux",
69
+ "win32"
70
+ ],
71
+ "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
72
+ }