사이트를 운영하는 운영자이지만.. 언제나 글시작하는건 어렵습니다.
안녕!하세요.. (장난꾸러기)같은 람보입니다.
사실 프로파일러 모듈을 제가 리더로써 이끌어왓지만.. 사실 요즘은 맴버님들이 다 바쁘셔서 손 놓고 있었습니다..(흑흑..)
글제목이 우리 애기가 아파요이라고 지었는데.. 사실 이렇게 지었던 이유는 프로파일러가 큰 결함이 있었기 때문이지요.
사용하지 않는 트리거를 찾아내 지워주고 사이트 전반적인 속도를 안정적으로 돌아가게 하는 역활로 만들어진 기능이 사실.. 이즈야님의 계략(?)에 빠져 작동을 하지 않았기 때문이지요.. (푸훗.. 웃고 넘기십시오 ㅋㄷ 농담이니ㅋㅋ)
https://github.com/xpressengine/xe-module-profiler/issues/32
해당 관련 이슈입니다. 기존에는 $oModuleModel->getTriggers() 의 함수으로도 모든 트리거의 리스트를 불러왔지만..
트리거 관련 호출시간을 조금이라도 단축 해보자는 취지로 뭔가 코드가 바뀌었습니다.
https://github.com/xpressengine/xe-core/commit/a38d7703fdf337c09515d30e93ae75f535970923
원래의 우리가 바라던 기대치의 값은
$trigger_list = $oModuleModel->getTriggers();
이라고 정의 해둔다음
for어쩌구반복문($trigger_list as $trigger)
형태로 array를 반복 시키는 값을 기대 했엇죠.. 하지만 현재 코어에서 받아온값은 NULL..
뭔일인가 직접 module.model.php 파일을 찾아볼 수 박에 없었죠..
거기에서 직접 디버그를 찍어보니.. 나온값이... 참..특이함..
array값이 "한가지"가 아니라 "여러가지"array가 생성되었다는..
그러니깐.. 보통 우리가 바라는 값들을 정렬해보면..
array
(
[1] -> ㅁㄴㅇㅁㄴㅇ
[2] -> 123123
)
끝이라고 생각했더라면.. 이건.. 하나의 함수에 들어간게..
array
(
[1] -> ㅁㄴㅇㅁㄴㅇ
[2] -> 123123
)
array
(
[1] -> ㅁㄴㅇㅁㄴㅇ
[2] -> 123123
[3] -> ㅁㄴㅇㅁㅈㄷ
[4] -> ㅁㅇㄴㄻㄴㄷ
)
array
(
[1] -> ㅁㄴㅇㅁㄴㅇ
[2] -> 123123
[3] -> ㅁㄴㅇㅁㅈㄷ
)
요런형태로 하나가 잡히는게 아닌가...(뭐지.. 이 아이러니한..상황은..)
전체적인 코드를 보니.. 디비속의 트리거를 검사하지않고 캐쉬파일을 이용해서 트리거존재여부를 따지는 것 같던데.. 그로인해 속도를 조금 높힌듯 해보였습니다..(디비를 검사하지 않고 넘어가니깐..)
아무튼.. 해당 방식이 디비를 사용하는 방식으로 정보를 가져와야 하다보니.. 프로파일러 트리거 목록 부분이 전혀나타나지 않던 버그가 있엇던거죠..
그래서 오랜만에.. 프로파일러를 긴급 엑스레이(?) 검사를 하였습니다..(이거 알아들으시는분 최소 용팔이 보신분?)
기존에 모듈 model의 함수를 그대로 옮겨 심었습니다.. 그리고 프로파일러 내에서 작동되게 했더니.. 정상적으로 작동!!
(아 물론 삭제 부분도 동일하게 바뀐부분이 있어.. 기존의 삭제하는 함수도 기존의 함수를 그대로..가져와 구현했어요.)
https://github.com/xpressengine/xe-module-profiler/commit/4fe979edda986552375a5cb64a17bfc73e548b9c
해결방법 커밋한 것입니다..
혹시 사용하시는분들은 보시고 참고하시길 !!