1- import { SatpLoggerProvider as LoggerProvider } from "../../core/satp-logger-provider" ;
1+ import { SATPLoggerProvider as LoggerProvider } from "../../core/satp-logger-provider" ;
22import { SATPLogger as Logger } from "../../core/satp-logger" ;
33import { SATPSession } from "../satp-session" ;
44import { Stage0ServerService } from "../stage-services/server/stage0-server-service" ;
@@ -78,11 +78,14 @@ export class Stage0SATPHandler implements SATPHandler {
7878 const fnTag = `${ this . getHandlerIdentifier ( ) } #${ stepTag } ` ;
7979 const { span, context : ctx } = this . monitorService . startSpan ( fnTag ) ;
8080 return context . with ( ctx , async ( ) => {
81+ const attributes : Record <
82+ string ,
83+ undefined | string | number | boolean | string [ ] | number [ ] | boolean [ ]
84+ > = { } ;
8185 try {
8286 let session : SATPSession | undefined ;
8387 try {
8488 this . Log . debug ( `${ fnTag } , New Session...` ) ;
85- //console.log("aii: ", stringify(req));
8689 this . Log . debug ( `${ fnTag } , Request: ${ safeStableStringify ( req ) } }` ) ;
8790
8891 session = this . sessions . get ( req . sessionId ) ;
@@ -121,6 +124,25 @@ export class Stage0SATPHandler implements SATPHandler {
121124
122125 saveMessageInSessionData ( session . getServerSessionData ( ) , message ) ;
123126
127+ attributes . satp_phase = 0 ;
128+ attributes . operation = "newSession" ;
129+
130+ const startTimestamp =
131+ session . getServerSessionData ( ) . processedTimestamps ?. stage0
132+ ?. newSessionRequestMessageTimestamp ;
133+ const endTimestamp =
134+ session . getServerSessionData ( ) . processedTimestamps ?. stage0
135+ ?. newSessionResponseMessageTimestamp ;
136+
137+ if ( startTimestamp && endTimestamp ) {
138+ const duration = Number ( endTimestamp ) - Number ( startTimestamp ) ;
139+ await this . monitorService . incrementCounter (
140+ "operation_duration" ,
141+ duration ,
142+ attributes ,
143+ ) ;
144+ }
145+
124146 return message ;
125147 } catch ( error ) {
126148 this . Log . error (
@@ -131,6 +153,32 @@ export class Stage0SATPHandler implements SATPHandler {
131153 ) } `,
132154 ) ;
133155 setError ( session , MessageType . NEW_SESSION_RESPONSE , error ) ;
156+
157+ attributes . senderNetworkId =
158+ session ?. getServerSessionData ( ) . senderAsset ?. networkId ?. id ||
159+ undefined ;
160+ attributes . receiverNetworkId =
161+ session ?. getServerSessionData ( ) . receiverAsset ?. networkId ?. id ||
162+ undefined ;
163+ attributes . senderGatewayNetworkId =
164+ session ?. getClientSessionData ( ) . senderGatewayNetworkId || undefined ;
165+ attributes . receiverGatewayNetworkId =
166+ session ?. getServerSessionData ( ) . recipientGatewayNetworkId ||
167+ undefined ;
168+ attributes . assetProfileId =
169+ session ?. getServerSessionData ( ) . assetProfileId || undefined ;
170+ attributes . sessionId = session ?. getSessionId ( ) || undefined ;
171+ attributes . sourceLedgerAssetId =
172+ session ?. getClientSessionData ( ) . sourceLedgerAssetId || undefined ;
173+ attributes . recipientLedgerAssetId =
174+ session ?. getServerSessionData ( ) . recipientLedgerAssetId || undefined ;
175+ attributes . satp_phase = 0 ;
176+
177+ this . monitorService . incrementCounter (
178+ "failed_transactions" ,
179+ 1 ,
180+ attributes ,
181+ ) ;
134182 return await this . serverService . newSessionErrorResponse ( error ) ;
135183 }
136184 } catch ( err ) {
@@ -151,6 +199,10 @@ export class Stage0SATPHandler implements SATPHandler {
151199 const fnTag = `${ this . getHandlerIdentifier ( ) } #${ stepTag } ` ;
152200 const { span, context : ctx } = this . monitorService . startSpan ( fnTag ) ;
153201 return context . with ( ctx , async ( ) => {
202+ const attributes : Record <
203+ string ,
204+ undefined | string | number | boolean | string [ ] | number [ ] | boolean [ ]
205+ > = { } ;
154206 try {
155207 let session : SATPSession | undefined ;
156208 try {
@@ -163,6 +215,8 @@ export class Stage0SATPHandler implements SATPHandler {
163215 throw new SessionNotFoundError ( fnTag ) ;
164216 }
165217
218+ span . setAttribute ( "sessionId" , session . getSessionId ( ) || "" ) ;
219+
166220 await this . serverService . checkPreSATPTransferRequest ( req , session ) ;
167221
168222 saveMessageInSessionData ( session . getServerSessionData ( ) , req ) ;
@@ -185,6 +239,25 @@ export class Stage0SATPHandler implements SATPHandler {
185239
186240 saveMessageInSessionData ( session . getServerSessionData ( ) , message ) ;
187241
242+ attributes . satp_phase = 0 ;
243+ attributes . operation = "preSATPTransfer" ;
244+
245+ const startTimestamp =
246+ session . getServerSessionData ( ) . processedTimestamps ?. stage0
247+ ?. preSatpTransferRequestMessageTimestamp ;
248+ const endTimestamp =
249+ session . getServerSessionData ( ) . processedTimestamps ?. stage0
250+ ?. preSatpTransferResponseMessageTimestamp ;
251+
252+ if ( startTimestamp && endTimestamp ) {
253+ const duration = Number ( endTimestamp ) - Number ( startTimestamp ) ;
254+ await this . monitorService . incrementCounter (
255+ "operation_duration" ,
256+ duration ,
257+ attributes ,
258+ ) ;
259+ }
260+
188261 return message ;
189262 } catch ( error ) {
190263 this . Log . error (
@@ -195,6 +268,31 @@ export class Stage0SATPHandler implements SATPHandler {
195268 ) } `,
196269 ) ;
197270 setError ( session , MessageType . PRE_SATP_TRANSFER_RESPONSE , error ) ;
271+ attributes . senderNetworkId =
272+ session ?. getServerSessionData ( ) . senderAsset ?. networkId ?. id ||
273+ undefined ;
274+ attributes . receiverNetworkId =
275+ session ?. getServerSessionData ( ) . receiverAsset ?. networkId ?. id ||
276+ undefined ;
277+ attributes . senderGatewayNetworkId =
278+ session ?. getClientSessionData ( ) . senderGatewayNetworkId || undefined ;
279+ attributes . receiverGatewayNetworkId =
280+ session ?. getServerSessionData ( ) . recipientGatewayNetworkId ||
281+ undefined ;
282+ attributes . assetProfileId =
283+ session ?. getServerSessionData ( ) . assetProfileId || undefined ;
284+ attributes . sessionId = session ?. getSessionId ( ) || undefined ;
285+ attributes . sourceLedgerAssetId =
286+ session ?. getClientSessionData ( ) . sourceLedgerAssetId || undefined ;
287+ attributes . recipientLedgerAssetId =
288+ session ?. getServerSessionData ( ) . recipientLedgerAssetId || undefined ;
289+ attributes . satp_phase = 0 ;
290+
291+ this . monitorService . incrementCounter (
292+ "failed_transactions" ,
293+ 1 ,
294+ attributes ,
295+ ) ;
198296 return await this . serverService . preSATPTransferErrorResponse (
199297 error ,
200298 session ,
@@ -255,6 +353,8 @@ export class Stage0SATPHandler implements SATPHandler {
255353 throw new SessionNotFoundError ( fnTag ) ;
256354 }
257355
356+ span . setAttribute ( "sessionId" , session . getSessionId ( ) || "" ) ;
357+
258358 const message = await this . clientService . newSessionRequest (
259359 session ,
260360 this . gatewayId ,
@@ -314,6 +414,8 @@ export class Stage0SATPHandler implements SATPHandler {
314414 throw new SessionNotFoundError ( fnTag ) ;
315415 }
316416
417+ span . setAttribute ( "sessionId" , session . getSessionId ( ) || "" ) ;
418+
317419 const newSession = await this . clientService . checkNewSessionResponse (
318420 response ,
319421 session ,
0 commit comments