[[20220731 DynatraceによるTrain Ticket問題調査]]の続き。
Java 8から11へアップデート。
- ts-order-service
![[Pasted image 20220802153239.png|600]]
![[Pasted image 20220802153450.png|600]]
Memory Profileへ。
![[Pasted image 20220802153529.png]]
OrderServiceImpl.getSoldTicketsのSurvived memoryの累積の総量。
![[Pasted image 20220802154711.png]]
![[Pasted image 20220802154842.png]]
Called methods by FilterChainProxy$VirtualFilterChain.doFilter を深堀りする。
![[Pasted image 20220802160906.png]]
OrderController.getTicketListByDateAndTripId から、findByTravelDateAndTrianNumberのMongoDBのクエリ発行部分でオブジェクトを大量に生成していそう。
同じユーザーがデータベースのレコードを追加し続けているのが問題な気がする。
getTicketListByDateAndTripIdはts-seat-serviceから呼ばれている。
[train-ticket/SeatServiceImpl.java at 77361acbb0cc88ae654027ceac2f87e387c82973 · ai4sre/train-ticket · GitHub](https://github.com/ai4sre/train-ticket/blob/77361acbb0cc88ae654027ceac2f87e387c82973/ts-seat-service/src/main/java/seat/service/SeatServiceImpl.java#L207-L208) の行のログでは、大量のSeatが出力されていた。