@atrim/instrument-node 0.7.2-dev.41ebd10.20260110210129 → 0.7.2-dev.e12da4b.20260116190926

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atrim/instrument-node",
3
- "version": "0.7.2-dev.41ebd10.20260110210129",
3
+ "version": "0.7.2-dev.e12da4b.20260116190926",
4
4
  "description": "OpenTelemetry instrumentation for Node.js with centralized YAML configuration",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -158,6 +158,39 @@ var AutoInstrumentationConfigSchema = zod.z.object({
158
158
  parent_fiber: zod.z.boolean().default(true)
159
159
  }).default({})
160
160
  });
161
+ var OperationTracingConfigSchema = zod.z.object({
162
+ // Enable/disable operation tracing
163
+ enabled: zod.z.boolean().default(false),
164
+ // Global span naming settings
165
+ span_naming: zod.z.object({
166
+ // Include source location (file:line) in span name
167
+ // Default: true - produces "effect.all (index.ts:42)"
168
+ // When false - produces "effect.all"
169
+ include_location: zod.z.boolean().default(true),
170
+ // Span name template with variables:
171
+ // {op} - Operation name (all, forEach, retry, etc.)
172
+ // {file} - Full file path
173
+ // {filename} - Just the filename (basename)
174
+ // {line} - Line number
175
+ // {column} - Column number
176
+ // Default: "effect.{op} ({filename}:{line})"
177
+ template: zod.z.string().default("effect.{op} ({filename}:{line})")
178
+ }).default({}),
179
+ // Operations to trace
180
+ operations: zod.z.array(
181
+ zod.z.object({
182
+ // Operation name: 'all', 'forEach', 'retry', etc.
183
+ name: zod.z.string(),
184
+ // Custom span name template (overrides global span_naming.template)
185
+ // Supports same variables: {op}, {file}, {filename}, {line}, {column}
186
+ span_name: zod.z.string().optional(),
187
+ // Include item count in span attributes
188
+ include_count: zod.z.boolean().default(true),
189
+ // Include stack trace in span attributes
190
+ include_stack: zod.z.boolean().default(true)
191
+ })
192
+ ).default([])
193
+ });
161
194
  var HttpFilteringConfigSchema = zod.z.object({
162
195
  // Patterns to ignore for outgoing HTTP requests (string patterns only in YAML)
163
196
  ignore_outgoing_urls: zod.z.array(zod.z.string()).optional(),
@@ -225,7 +258,9 @@ var InstrumentationConfigSchema = zod.z.object({
225
258
  auto_extract_metadata: zod.z.boolean(),
226
259
  auto_isolation: AutoIsolationConfigSchema.optional(),
227
260
  // Auto-instrumentation: automatic tracing of all Effect fibers
228
- auto_instrumentation: AutoInstrumentationConfigSchema.optional()
261
+ auto_instrumentation: AutoInstrumentationConfigSchema.optional(),
262
+ // Operation tracing: automatic tracing of Effect.all, Effect.forEach, etc.
263
+ operation_tracing: OperationTracingConfigSchema.optional()
229
264
  }).optional(),
230
265
  http: HttpFilteringConfigSchema.optional()
231
266
  });