@justanalyticsapp/node 0.2.1 → 0.3.0

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 (37) hide show
  1. package/dist/client.d.ts +23 -1
  2. package/dist/client.js +139 -1
  3. package/dist/client.js.map +1 -1
  4. package/dist/integrations/axios-integration.d.ts +53 -0
  5. package/dist/integrations/axios-integration.js +221 -0
  6. package/dist/integrations/axios-integration.js.map +1 -0
  7. package/dist/integrations/drizzle.d.ts +54 -0
  8. package/dist/integrations/drizzle.js +245 -0
  9. package/dist/integrations/drizzle.js.map +1 -0
  10. package/dist/integrations/http.d.ts +3 -1
  11. package/dist/integrations/http.js +12 -1
  12. package/dist/integrations/http.js.map +1 -1
  13. package/dist/integrations/mongodb.d.ts +50 -0
  14. package/dist/integrations/mongodb.js +260 -0
  15. package/dist/integrations/mongodb.js.map +1 -0
  16. package/dist/integrations/mysql.d.ts +56 -0
  17. package/dist/integrations/mysql.js +307 -0
  18. package/dist/integrations/mysql.js.map +1 -0
  19. package/dist/integrations/next.d.ts +41 -0
  20. package/dist/integrations/next.js +204 -0
  21. package/dist/integrations/next.js.map +1 -1
  22. package/dist/integrations/pg.d.ts +31 -3
  23. package/dist/integrations/pg.js +102 -22
  24. package/dist/integrations/pg.js.map +1 -1
  25. package/dist/integrations/postgres-js.d.ts +57 -0
  26. package/dist/integrations/postgres-js.js +311 -0
  27. package/dist/integrations/postgres-js.js.map +1 -0
  28. package/dist/integrations/prisma.d.ts +54 -0
  29. package/dist/integrations/prisma.js +186 -0
  30. package/dist/integrations/prisma.js.map +1 -0
  31. package/dist/integrations/redis.d.ts +6 -0
  32. package/dist/integrations/redis.js +16 -19
  33. package/dist/integrations/redis.js.map +1 -1
  34. package/dist/integrations/upstash-redis.d.ts +43 -0
  35. package/dist/integrations/upstash-redis.js +170 -0
  36. package/dist/integrations/upstash-redis.js.map +1 -0
  37. package/package.json +1 -1
package/dist/client.d.ts CHANGED
@@ -33,6 +33,12 @@ import { Logger } from './logger';
33
33
  import { HttpIntegrationOptions } from './integrations/http';
34
34
  import { PgIntegrationOptions } from './integrations/pg';
35
35
  import { RedisIntegrationOptions } from './integrations/redis';
36
+ import { MysqlIntegrationOptions } from './integrations/mysql';
37
+ import { MongodbIntegrationOptions } from './integrations/mongodb';
38
+ import { PrismaIntegrationOptions } from './integrations/prisma';
39
+ import { AxiosIntegrationOptions } from './integrations/axios-integration';
40
+ import { UpstashRedisIntegrationOptions } from './integrations/upstash-redis';
41
+ import { DrizzleIntegrationOptions } from './integrations/drizzle';
36
42
  import { MetricsIntegrationOptions } from './integrations/metrics';
37
43
  import { expressMiddleware as createExpressMiddleware } from './integrations/express';
38
44
  /**
@@ -81,6 +87,12 @@ export interface JustAnalyticsOptions {
81
87
  http?: boolean | HttpIntegrationOptions;
82
88
  pg?: boolean | PgIntegrationOptions;
83
89
  redis?: boolean | RedisIntegrationOptions;
90
+ mysql?: boolean | MysqlIntegrationOptions;
91
+ mongodb?: boolean | MongodbIntegrationOptions;
92
+ prisma?: boolean | PrismaIntegrationOptions;
93
+ axios?: boolean | AxiosIntegrationOptions;
94
+ upstashRedis?: boolean | UpstashRedisIntegrationOptions;
95
+ drizzle?: boolean | DrizzleIntegrationOptions;
84
96
  metrics?: boolean | MetricsIntegrationOptions;
85
97
  };
86
98
  }
@@ -99,7 +111,14 @@ export declare class JustAnalyticsClient {
99
111
  private _logger;
100
112
  private _httpIntegration;
101
113
  private _pgIntegration;
114
+ private _postgresJsIntegration;
102
115
  private _redisIntegration;
116
+ private _mysqlIntegration;
117
+ private _mongodbIntegration;
118
+ private _prismaIntegration;
119
+ private _axiosIntegration;
120
+ private _upstashRedisIntegration;
121
+ private _drizzleIntegration;
103
122
  private _metricsIntegration;
104
123
  private _exitHandlersRegistered;
105
124
  private _boundBeforeExitHandler;
@@ -240,9 +259,12 @@ export declare class JustAnalyticsClient {
240
259
  /**
241
260
  * Enqueue an ended span for transport.
242
261
  *
262
+ * Used internally by startSpan() and externally by integrations
263
+ * (e.g., Next.js fetch patching) that create spans independently.
264
+ *
243
265
  * @param span - The ended span to enqueue
244
266
  */
245
- private enqueueSpan;
267
+ enqueueSpan(span: Span): void;
246
268
  /**
247
269
  * Enqueue an error event payload for transport.
248
270
  *
package/dist/client.js CHANGED
@@ -37,7 +37,14 @@ const errors_1 = require("./errors");
37
37
  const logger_1 = require("./logger");
38
38
  const http_1 = require("./integrations/http");
39
39
  const pg_1 = require("./integrations/pg");
40
+ const postgres_js_1 = require("./integrations/postgres-js");
40
41
  const redis_1 = require("./integrations/redis");
42
+ const mysql_1 = require("./integrations/mysql");
43
+ const mongodb_1 = require("./integrations/mongodb");
44
+ const prisma_1 = require("./integrations/prisma");
45
+ const axios_integration_1 = require("./integrations/axios-integration");
46
+ const upstash_redis_1 = require("./integrations/upstash-redis");
47
+ const drizzle_1 = require("./integrations/drizzle");
41
48
  const metrics_1 = require("./integrations/metrics");
42
49
  const express_1 = require("./integrations/express");
43
50
  /** Default JustAnalytics server URL */
@@ -56,7 +63,14 @@ class JustAnalyticsClient {
56
63
  this._logger = null;
57
64
  this._httpIntegration = null;
58
65
  this._pgIntegration = null;
66
+ this._postgresJsIntegration = null;
59
67
  this._redisIntegration = null;
68
+ this._mysqlIntegration = null;
69
+ this._mongodbIntegration = null;
70
+ this._prismaIntegration = null;
71
+ this._axiosIntegration = null;
72
+ this._upstashRedisIntegration = null;
73
+ this._drizzleIntegration = null;
60
74
  this._metricsIntegration = null;
61
75
  this._exitHandlersRegistered = false;
62
76
  // Store references to bound handlers so we can remove them
@@ -143,22 +157,108 @@ class JustAnalyticsClient {
143
157
  const httpConfig = options.integrations?.http;
144
158
  if (httpConfig !== false) {
145
159
  const httpOptions = typeof httpConfig === 'object' ? httpConfig : undefined;
146
- this._httpIntegration = new http_1.HttpIntegration(this._serviceName, serverUrl, httpOptions, (span) => this.enqueueSpan(span));
160
+ this._httpIntegration = new http_1.HttpIntegration(this._serviceName, serverUrl, httpOptions, (span) => this.enqueueSpan(span), this._debug);
147
161
  this._httpIntegration.enable();
148
162
  }
149
163
  // Initialize PostgreSQL auto-instrumentation integration
164
+ // Tries: pg, postgres (postgresjs), @neondatabase/serverless
150
165
  const pgConfig = options.integrations?.pg;
151
166
  if (pgConfig !== false) {
152
167
  const pgOptions = typeof pgConfig === 'object' ? pgConfig : undefined;
168
+ let pgInstrumented = false;
169
+ // Try pg and @neondatabase/serverless via PgIntegration
153
170
  this._pgIntegration = new pg_1.PgIntegration(this._serviceName, pgOptions, (span) => this.enqueueSpan(span));
154
171
  this._pgIntegration.enable();
172
+ if (this._pgIntegration.instrumentedDriver) {
173
+ pgInstrumented = true;
174
+ console.log(`[JustAnalytics] PostgreSQL: instrumented via ${this._pgIntegration.instrumentedDriver}`);
175
+ }
176
+ // Also try postgres (postgresjs) - can be used alongside pg
177
+ if (!pgInstrumented) {
178
+ this._postgresJsIntegration = new postgres_js_1.PostgresJsIntegration(this._serviceName, pgOptions ? { enabled: pgOptions.enabled, maxQueryLength: pgOptions.maxQueryLength } : undefined, (span) => this.enqueueSpan(span));
179
+ const postgresJsFound = this._postgresJsIntegration.enable();
180
+ if (postgresJsFound) {
181
+ pgInstrumented = true;
182
+ console.log('[JustAnalytics] PostgreSQL: instrumented via postgres (postgresjs)');
183
+ }
184
+ }
185
+ if (!pgInstrumented) {
186
+ console.log('[JustAnalytics] PostgreSQL: no supported driver found (checked: pg, postgres, @neondatabase/serverless)');
187
+ }
155
188
  }
156
189
  // Initialize Redis auto-instrumentation integration
190
+ // Tries: ioredis, @redis/client
157
191
  const redisConfig = options.integrations?.redis;
158
192
  if (redisConfig !== false) {
159
193
  const redisOptions = typeof redisConfig === 'object' ? redisConfig : undefined;
160
194
  this._redisIntegration = new redis_1.RedisIntegration(this._serviceName, redisOptions, (span) => this.enqueueSpan(span));
161
195
  this._redisIntegration.enable();
196
+ if (this._redisIntegration.instrumentedDriver) {
197
+ console.log(`[JustAnalytics] Redis: instrumented via ${this._redisIntegration.instrumentedDriver}`);
198
+ }
199
+ else {
200
+ console.log('[JustAnalytics] Redis: no supported driver found (checked: ioredis, @redis/client)');
201
+ }
202
+ }
203
+ // Initialize MySQL auto-instrumentation integration
204
+ const mysqlConfig = options.integrations?.mysql;
205
+ if (mysqlConfig !== false) {
206
+ const mysqlOptions = typeof mysqlConfig === 'object' ? mysqlConfig : undefined;
207
+ this._mysqlIntegration = new mysql_1.MysqlIntegration(this._serviceName, mysqlOptions, (span) => this.enqueueSpan(span));
208
+ this._mysqlIntegration.enable();
209
+ if (this._mysqlIntegration.instrumentedDriver) {
210
+ console.log(`[JustAnalytics] MySQL: instrumented via ${this._mysqlIntegration.instrumentedDriver}`);
211
+ }
212
+ }
213
+ // Initialize MongoDB auto-instrumentation integration
214
+ const mongodbConfig = options.integrations?.mongodb;
215
+ if (mongodbConfig !== false) {
216
+ const mongodbOptions = typeof mongodbConfig === 'object' ? mongodbConfig : undefined;
217
+ this._mongodbIntegration = new mongodb_1.MongodbIntegration(this._serviceName, mongodbOptions, (span) => this.enqueueSpan(span));
218
+ this._mongodbIntegration.enable();
219
+ if (this._mongodbIntegration.instrumentedDriver) {
220
+ console.log(`[JustAnalytics] MongoDB: instrumented via ${this._mongodbIntegration.instrumentedDriver}`);
221
+ }
222
+ }
223
+ // Initialize Prisma auto-instrumentation integration
224
+ const prismaConfig = options.integrations?.prisma;
225
+ if (prismaConfig !== false) {
226
+ const prismaOptions = typeof prismaConfig === 'object' ? prismaConfig : undefined;
227
+ this._prismaIntegration = new prisma_1.PrismaIntegration(this._serviceName, prismaOptions, (span) => this.enqueueSpan(span));
228
+ this._prismaIntegration.enable();
229
+ if (this._prismaIntegration.instrumentedDriver) {
230
+ console.log(`[JustAnalytics] Prisma: instrumented via ${this._prismaIntegration.instrumentedDriver}`);
231
+ }
232
+ }
233
+ // Initialize Axios auto-instrumentation integration
234
+ const axiosConfig = options.integrations?.axios;
235
+ if (axiosConfig !== false) {
236
+ const axiosOptions = typeof axiosConfig === 'object' ? axiosConfig : undefined;
237
+ this._axiosIntegration = new axios_integration_1.AxiosIntegration(this._serviceName, serverUrl, axiosOptions, (span) => this.enqueueSpan(span));
238
+ this._axiosIntegration.enable();
239
+ if (this._axiosIntegration.instrumentedDriver) {
240
+ console.log(`[JustAnalytics] HTTP: instrumented via ${this._axiosIntegration.instrumentedDriver}`);
241
+ }
242
+ }
243
+ // Initialize Upstash Redis auto-instrumentation integration
244
+ const upstashConfig = options.integrations?.upstashRedis;
245
+ if (upstashConfig !== false) {
246
+ const upstashOptions = typeof upstashConfig === 'object' ? upstashConfig : undefined;
247
+ this._upstashRedisIntegration = new upstash_redis_1.UpstashRedisIntegration(this._serviceName, upstashOptions, (span) => this.enqueueSpan(span));
248
+ this._upstashRedisIntegration.enable();
249
+ if (this._upstashRedisIntegration.instrumentedDriver) {
250
+ console.log(`[JustAnalytics] Redis: instrumented via ${this._upstashRedisIntegration.instrumentedDriver}`);
251
+ }
252
+ }
253
+ // Initialize Drizzle ORM auto-instrumentation integration
254
+ const drizzleConfig = options.integrations?.drizzle;
255
+ if (drizzleConfig !== false) {
256
+ const drizzleOptions = typeof drizzleConfig === 'object' ? drizzleConfig : undefined;
257
+ this._drizzleIntegration = new drizzle_1.DrizzleIntegration(this._serviceName, drizzleOptions, (span) => this.enqueueSpan(span));
258
+ this._drizzleIntegration.enable();
259
+ if (this._drizzleIntegration.instrumentedDriver) {
260
+ console.log(`[JustAnalytics] Drizzle: instrumented via ${this._drizzleIntegration.instrumentedDriver}`);
261
+ }
162
262
  }
163
263
  // Initialize infrastructure metrics integration (Story 048)
164
264
  const metricsConfig = options.integrations?.metrics;
@@ -492,11 +592,46 @@ class JustAnalyticsClient {
492
592
  this._pgIntegration.disable();
493
593
  this._pgIntegration = null;
494
594
  }
595
+ // Disable postgres-js integration (restore original functions)
596
+ if (this._postgresJsIntegration) {
597
+ this._postgresJsIntegration.disable();
598
+ this._postgresJsIntegration = null;
599
+ }
495
600
  // Disable Redis integration (restore original functions)
496
601
  if (this._redisIntegration) {
497
602
  this._redisIntegration.disable();
498
603
  this._redisIntegration = null;
499
604
  }
605
+ // Disable MySQL integration
606
+ if (this._mysqlIntegration) {
607
+ this._mysqlIntegration.disable();
608
+ this._mysqlIntegration = null;
609
+ }
610
+ // Disable MongoDB integration
611
+ if (this._mongodbIntegration) {
612
+ this._mongodbIntegration.disable();
613
+ this._mongodbIntegration = null;
614
+ }
615
+ // Disable Prisma integration
616
+ if (this._prismaIntegration) {
617
+ this._prismaIntegration.disable();
618
+ this._prismaIntegration = null;
619
+ }
620
+ // Disable Axios integration
621
+ if (this._axiosIntegration) {
622
+ this._axiosIntegration.disable();
623
+ this._axiosIntegration = null;
624
+ }
625
+ // Disable Upstash Redis integration
626
+ if (this._upstashRedisIntegration) {
627
+ this._upstashRedisIntegration.disable();
628
+ this._upstashRedisIntegration = null;
629
+ }
630
+ // Disable Drizzle integration
631
+ if (this._drizzleIntegration) {
632
+ this._drizzleIntegration.disable();
633
+ this._drizzleIntegration = null;
634
+ }
500
635
  // Disable metrics integration (Story 048)
501
636
  if (this._metricsIntegration) {
502
637
  this._metricsIntegration.disable();
@@ -521,6 +656,9 @@ class JustAnalyticsClient {
521
656
  /**
522
657
  * Enqueue an ended span for transport.
523
658
  *
659
+ * Used internally by startSpan() and externally by integrations
660
+ * (e.g., Next.js fetch patching) that create spans independently.
661
+ *
524
662
  * @param span - The ended span to enqueue
525
663
  */
526
664
  enqueueSpan(span) {
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @file packages/node-sdk/src/integrations/axios-integration.ts
3
+ * @description Axios auto-instrumentation integration for the JustAnalytics Node.js SDK.
4
+ *
5
+ * Uses axios interceptors to automatically create `http.client` spans for all
6
+ * HTTP requests made via axios. Also injects `traceparent` headers for
7
+ * distributed tracing (W3C Trace Context).
8
+ *
9
+ * Follows the same pattern as other integrations:
10
+ * - Integration class with `enable()`/`disable()` lifecycle methods
11
+ * - Fail-open design: never crashes the host process
12
+ */
13
+ import { Span } from '../span';
14
+ /**
15
+ * Configuration for the Axios auto-instrumentation integration.
16
+ */
17
+ export interface AxiosIntegrationOptions {
18
+ /** Enable/disable the integration (default: true) */
19
+ enabled?: boolean;
20
+ /**
21
+ * URL patterns to exclude from instrumentation.
22
+ * Strings are matched as substrings, RegExp are tested against the full URL.
23
+ */
24
+ ignoreUrls?: (string | RegExp)[];
25
+ }
26
+ /**
27
+ * AxiosIntegration uses axios request/response interceptors to auto-create
28
+ * http.client spans for all HTTP requests made via axios.
29
+ */
30
+ export declare class AxiosIntegration {
31
+ private _enabled;
32
+ private _options;
33
+ private _serviceName;
34
+ private _serverUrl;
35
+ private _onSpanEnd;
36
+ private _instrumentedDriver;
37
+ private _axiosModule;
38
+ private _requestInterceptorId;
39
+ private _responseInterceptorId;
40
+ constructor(serviceName: string, serverUrl: string, options: AxiosIntegrationOptions | undefined, onSpanEnd: (span: Span) => void);
41
+ get instrumentedDriver(): string | null;
42
+ enable(): void;
43
+ disable(): void;
44
+ /**
45
+ * Build full URL from axios config.
46
+ */
47
+ private _buildUrl;
48
+ /**
49
+ * Extract path from URL for the operation name.
50
+ */
51
+ private _extractPath;
52
+ private _restoreOriginals;
53
+ }
@@ -0,0 +1,221 @@
1
+ "use strict";
2
+ /**
3
+ * @file packages/node-sdk/src/integrations/axios-integration.ts
4
+ * @description Axios auto-instrumentation integration for the JustAnalytics Node.js SDK.
5
+ *
6
+ * Uses axios interceptors to automatically create `http.client` spans for all
7
+ * HTTP requests made via axios. Also injects `traceparent` headers for
8
+ * distributed tracing (W3C Trace Context).
9
+ *
10
+ * Follows the same pattern as other integrations:
11
+ * - Integration class with `enable()`/`disable()` lifecycle methods
12
+ * - Fail-open design: never crashes the host process
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.AxiosIntegration = void 0;
16
+ const span_1 = require("../span");
17
+ const context_1 = require("../context");
18
+ const id_1 = require("../utils/id");
19
+ /**
20
+ * Check if a URL should be ignored based on the ignore patterns.
21
+ */
22
+ function shouldIgnoreUrl(url, patterns) {
23
+ for (const pattern of patterns) {
24
+ if (typeof pattern === 'string') {
25
+ if (url.includes(pattern))
26
+ return true;
27
+ }
28
+ else if (pattern instanceof RegExp) {
29
+ if (pattern.test(url))
30
+ return true;
31
+ }
32
+ }
33
+ return false;
34
+ }
35
+ /**
36
+ * AxiosIntegration uses axios request/response interceptors to auto-create
37
+ * http.client spans for all HTTP requests made via axios.
38
+ */
39
+ class AxiosIntegration {
40
+ constructor(serviceName, serverUrl, options, onSpanEnd) {
41
+ this._enabled = false;
42
+ this._instrumentedDriver = null;
43
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
44
+ this._axiosModule = null;
45
+ this._requestInterceptorId = null;
46
+ this._responseInterceptorId = null;
47
+ this._serviceName = serviceName;
48
+ this._serverUrl = serverUrl;
49
+ this._onSpanEnd = onSpanEnd;
50
+ const opts = options || {};
51
+ this._options = {
52
+ enabled: opts.enabled !== false,
53
+ ignoreUrls: opts.ignoreUrls || [],
54
+ };
55
+ }
56
+ get instrumentedDriver() {
57
+ return this._instrumentedDriver;
58
+ }
59
+ enable() {
60
+ if (this._enabled)
61
+ return;
62
+ if (!this._options.enabled)
63
+ return;
64
+ try {
65
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
66
+ let axios;
67
+ try {
68
+ axios = require('axios');
69
+ }
70
+ catch {
71
+ return;
72
+ }
73
+ // Get the default instance (or the module itself for axios)
74
+ const axiosInstance = axios.default || axios;
75
+ if (!axiosInstance || !axiosInstance.interceptors) {
76
+ return;
77
+ }
78
+ this._axiosModule = axiosInstance;
79
+ const integration = this;
80
+ // Map to store spans by request config
81
+ const spanMap = new WeakMap();
82
+ // Request interceptor: create span + inject traceparent
83
+ this._requestInterceptorId = axiosInstance.interceptors.request.use(
84
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
85
+ (config) => {
86
+ try {
87
+ const url = integration._buildUrl(config);
88
+ // Skip own SDK requests and ignored URLs
89
+ if (url.includes(integration._serverUrl) ||
90
+ shouldIgnoreUrl(url, integration._options.ignoreUrls)) {
91
+ return config;
92
+ }
93
+ const method = (config.method || 'GET').toUpperCase();
94
+ const parentSpan = (0, context_1.getActiveSpan)();
95
+ const traceId = parentSpan?.traceId ?? (0, id_1.generateTraceId)();
96
+ const parentSpanId = parentSpan?.id ?? null;
97
+ const operationName = `http.client ${method} ${integration._extractPath(url)}`;
98
+ const attributes = {
99
+ 'http.method': method,
100
+ 'http.url': url,
101
+ 'http.flavor': 'axios',
102
+ };
103
+ const span = new span_1.Span({
104
+ operationName,
105
+ serviceName: integration._serviceName,
106
+ kind: 'client',
107
+ traceId,
108
+ parentSpanId,
109
+ attributes,
110
+ });
111
+ // Inject traceparent header for distributed tracing
112
+ if (!config.headers) {
113
+ config.headers = {};
114
+ }
115
+ config.headers['traceparent'] = `00-${span.traceId}-${span.id}-01`;
116
+ // Store span for the response interceptor
117
+ spanMap.set(config, span);
118
+ }
119
+ catch {
120
+ // Fail-open: don't break the request
121
+ }
122
+ return config;
123
+ }, (error) => Promise.reject(error));
124
+ // Response interceptor: end span with status
125
+ this._responseInterceptorId = axiosInstance.interceptors.response.use(
126
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
127
+ (response) => {
128
+ try {
129
+ const span = spanMap.get(response.config);
130
+ if (span) {
131
+ spanMap.delete(response.config);
132
+ span.setAttribute('http.status_code', response.status);
133
+ if (response.status >= 400) {
134
+ span.setStatus('error', `HTTP ${response.status}`);
135
+ }
136
+ span.end();
137
+ integration._onSpanEnd(span);
138
+ }
139
+ }
140
+ catch {
141
+ // Fail-open
142
+ }
143
+ return response;
144
+ },
145
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
146
+ (error) => {
147
+ try {
148
+ const config = error?.config;
149
+ if (config) {
150
+ const span = spanMap.get(config);
151
+ if (span) {
152
+ spanMap.delete(config);
153
+ const statusCode = error?.response?.status;
154
+ if (statusCode) {
155
+ span.setAttribute('http.status_code', statusCode);
156
+ }
157
+ span.setStatus('error', error.message || 'Request failed');
158
+ span.end();
159
+ integration._onSpanEnd(span);
160
+ }
161
+ }
162
+ }
163
+ catch {
164
+ // Fail-open
165
+ }
166
+ return Promise.reject(error);
167
+ });
168
+ this._instrumentedDriver = 'axios';
169
+ this._enabled = true;
170
+ }
171
+ catch {
172
+ this._restoreOriginals();
173
+ }
174
+ }
175
+ disable() {
176
+ if (!this._enabled)
177
+ return;
178
+ this._restoreOriginals();
179
+ this._instrumentedDriver = null;
180
+ this._enabled = false;
181
+ }
182
+ /**
183
+ * Build full URL from axios config.
184
+ */
185
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
186
+ _buildUrl(config) {
187
+ const baseURL = config.baseURL || '';
188
+ const url = config.url || '';
189
+ if (url.startsWith('http://') || url.startsWith('https://')) {
190
+ return url;
191
+ }
192
+ return `${baseURL}${url}`;
193
+ }
194
+ /**
195
+ * Extract path from URL for the operation name.
196
+ */
197
+ _extractPath(url) {
198
+ try {
199
+ const parsed = new URL(url);
200
+ return parsed.pathname;
201
+ }
202
+ catch {
203
+ return url;
204
+ }
205
+ }
206
+ _restoreOriginals() {
207
+ if (this._axiosModule && this._axiosModule.interceptors) {
208
+ if (this._requestInterceptorId !== null) {
209
+ this._axiosModule.interceptors.request.eject(this._requestInterceptorId);
210
+ this._requestInterceptorId = null;
211
+ }
212
+ if (this._responseInterceptorId !== null) {
213
+ this._axiosModule.interceptors.response.eject(this._responseInterceptorId);
214
+ this._responseInterceptorId = null;
215
+ }
216
+ this._axiosModule = null;
217
+ }
218
+ }
219
+ }
220
+ exports.AxiosIntegration = AxiosIntegration;
221
+ //# sourceMappingURL=axios-integration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"axios-integration.js","sourceRoot":"","sources":["../../src/integrations/axios-integration.ts"],"names":[],"mappings":"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"}