@@ -7,7 +7,6 @@ import { is_form_content_type, negotiate } from '../../../utils/http.js';
77import { handle_error_and_jsonify } from '../utils.js' ;
88import { with_event } from '../../app/server/event.js' ;
99import { record_span } from '../../telemetry/record_span.js' ;
10- import { get_tracer } from '../../telemetry/get_tracer.js' ;
1110
1211/** @param {import('@sveltejs/kit').RequestEvent } event */
1312export function is_action_json_request ( event ) {
@@ -53,7 +52,7 @@ export async function handle_action_json_request(event, options, server) {
5352 check_named_default_separate ( actions ) ;
5453
5554 try {
56- const data = await call_action ( event , actions , options . tracing ) ;
55+ const data = await call_action ( event , actions , await options . tracer ) ;
5756
5857 if ( __SVELTEKIT_DEV__ ) {
5958 validate_action_return ( data ) ;
@@ -141,10 +140,10 @@ export function is_action_request(event) {
141140/**
142141 * @param {import('@sveltejs/kit').RequestEvent } event
143142 * @param {import('types').SSRNode['server'] | undefined } server
144- * @param {boolean } tracing
143+ * @param {import('@opentelemetry/api').Tracer } tracer
145144 * @returns {Promise<import('@sveltejs/kit').ActionResult> }
146145 */
147- export async function handle_action_request ( event , server , tracing ) {
146+ export async function handle_action_request ( event , server , tracer ) {
148147 const actions = server ?. actions ;
149148
150149 if ( ! actions ) {
@@ -167,7 +166,7 @@ export async function handle_action_request(event, server, tracing) {
167166 check_named_default_separate ( actions ) ;
168167
169168 try {
170- const data = await call_action ( event , actions , tracing ) ;
169+ const data = await call_action ( event , actions , tracer ) ;
171170
172171 if ( __SVELTEKIT_DEV__ ) {
173172 validate_action_return ( data ) ;
@@ -219,10 +218,10 @@ function check_named_default_separate(actions) {
219218/**
220219 * @param {import('@sveltejs/kit').RequestEvent } event
221220 * @param {NonNullable<import('types').ServerNode['actions']> } actions
222- * @param {boolean } tracing
221+ * @param {import('@opentelemetry/api').Tracer } tracer
223222 * @throws {Redirect | HttpError | SvelteKitError | Error }
224223 */
225- async function call_action ( event , actions , tracing ) {
224+ async function call_action ( event , actions , tracer ) {
226225 const url = new URL ( event . request . url ) ;
227226
228227 let name = 'default' ;
@@ -251,27 +250,23 @@ async function call_action(event, actions, tracing) {
251250 ) ;
252251 }
253252
254- const tracer = await get_tracer ( { is_enabled : tracing } ) ;
255-
256253 return record_span ( {
257254 name : 'sveltekit.action' ,
258255 tracer,
259256 attributes : {
260257 'sveltekit.action.name' : name ,
261- 'sveltekit .route.id ' : event . route . id || 'unknown'
258+ 'http .route' : event . route . id || 'unknown'
262259 } ,
263260 fn : async ( action_span ) => {
264- const result = await with_event ( event , ( ) => action ( event ) ) ;
261+ const traced_event = { ...event , span : action_span } ;
262+ const result = await with_event ( traced_event , ( ) => action ( traced_event ) ) ;
265263 if ( result instanceof ActionFailure ) {
266264 action_span . setAttributes ( {
267265 'sveltekit.action.result.type' : 'failure' ,
268266 'sveltekit.action.result.status' : result . status
269267 } ) ;
270- } else {
271- action_span . setAttributes ( {
272- 'sveltekit.action.result.type' : 'success'
273- } ) ;
274268 }
269+
275270 return result ;
276271 }
277272 } ) ;
0 commit comments