설명
쿼리 모니터는 워드프레스용 개발자 도구 패널입니다. 데이터베이스 쿼리, PHP 오류, 후크 및 동작, 블록 편집기 블록, 대기열에 추가된 스크립트 및 스타일시트, HTTP API 호출 등을 디버깅할 수 있습니다.
Ajax 호출 디버깅, REST API 호출, 사용자 기능 검사, 블록 테마 및 전체 사이트 편집에 대한 완전한 지원 등 몇 가지 고급 기능이 포함되어 있습니다. 플러그인 또는 테마별로 출력의 범위를 좁힐 수 있는 기능이 포함되어 있어 성능이 좋지 않은 플러그인, 테마 또는 기능을 빠르게 파악할 수 있습니다.
쿼리 모니터는 해당 쿼리를 담당하는 플러그인, 테마 또는 함수별로 그룹화된 집계 데이터베이스 쿼리를 표시하는 등 유용한 방식으로 정보를 표시하는 데 중점을 둡니다. 현재 페이지의 개요를 보여주는 관리자 도구 모음 메뉴가 추가되며, 메뉴 항목을 선택하면 전체 디버깅 정보가 패널에 표시됩니다.
쿼리 모니터는 최대 3년 전의 워드프레스 버전과 PHP 버전 7.4 이상을 지원합니다.
자세한 내용은 쿼리 모니터 웹사이트를 참조하세요.
다음은 각 페이지 로드에 표시되는 내용에 대한 개요입니다:
- 느리거나 중복되거나 잘못된 쿼리에 대한 알림을 포함한 데이터베이스 쿼리. 쿼리 유형(
SELECT
,UPDATE
,DELETE
등), 담당 구성요소(플러그인, 테마, 워드프레스 코어), 호출 함수별로 필터링할 수 있으며 각각에 대해 별도의 집계 보기를 제공합니다. - 템플릿 파일 이름, 전체 템플릿 계층 구조, 로드되었거나 로드되지 않은 모든 템플릿 파트의 이름(블록 테마 및 클래식 테마의 경우).
- PHP 오류는 해당 컴포넌트 및 호출 스택과 함께 관리자 도구 모음에 표시되는 경고와 함께 깔끔하게 표시됩니다.
- 사이트의 코드에서 “잘못 수행 중” 또는 “사용 중단됨” 기능 사용.
- 글 콘텐츠 및 전체 사이트 편집(FSE) 내의 블록 및 관련 속성.
- 일치하는 재작성 규칙, 연관된 쿼리 문자열 및 쿼리 변수.
- 대기열에 추가된 스크립트 및 스타일시트와 해당 종속성, 종속성 및 종속성 위반에 대한 경고.
- 각 텍스트 도메인에 대한 언어 설정 및 로드된 번역 파일(MO 파일 및 JSON 파일).
- 응답 코드, 담당 구성 요소, 소요 시간, 실패 또는 오류 요청에 대한 알림과 함께 HTTP API 요청을 확인할 수 있습니다.
- 사용자 기능 검사 결과 및 기능 검사에 전달된 모든 매개변수.
- PHP, 데이터베이스, 워드프레스, 웹 서버에 대한 자세한 정보를 포함한 환경 정보.
is_single()
,is_home()
등과 같은 모든 워드프레스 조건부 함수의 값입니다.- 업데이트된 트랜잭션
- 멀티사이트 설치에서
switch_to_blog()
및restore_current_blog()
사용.
또한
- 리디렉션이 발생할 때마다 쿼리 모니터는 호출 스택이 포함된 HTTP 헤더를 추가하므로 자주 사용하는 HTTP 인스펙터 또는 브라우저 개발자 도구를 사용하여 리디렉션을 유발한 원인을 추적할 수 있습니다.
- 페이지에서 jQuery로 시작된 Ajax 요청의 응답에는 헤더에 다양한 디버깅 정보가 포함됩니다. PHP 오류도 브라우저의 개발자 콘솔에 출력됩니다.
- 인증된 사용자가 쿼리 모니터의 출력을 볼 수 있는 권한이 있는 경우 인증된 워드프레스 REST API 요청의 응답에는 헤더에 성능 정보 및 PHP 오류에 대한 개요가 포함됩니다. 봉투에 포함된 REST API 요청은 응답의
qm
속성에 더 많은 디버깅 정보를 포함합니다.
기본적으로 쿼리 모니터의 출력은 단일 사이트 설치의 경우 관리자에게만 표시되고, 멀티사이트 설치의 경우 슈퍼 관리자에게만 표시됩니다.
이 외에도 로그인하지 않았을 때(또는 관리자가 아닌 다른 사용자로 로그인한 경우) 쿼리 모니터 출력을 볼 수 있도록 인증 쿠키를 설정할 수 있습니다. 자세한 내용은 설정 패널을 참조하세요.
기타 플러그인
저는 개발자를 위한 다른 여러 플러그인을 관리하고 있습니다. 확인해 보세요:
개인정보 처리방침
쿼리 모니터는 기본적으로 비공개이며 항상 비공개로 유지됩니다. 수집한 데이터를 영구적으로 저장하지 않습니다. 제3자에게 데이터를 전송하지 않으며, 제3자 리소스도 포함하지 않습니다. 쿼리 모니터의 전체 개인정보 처리방침은 여기에서 확인할 수 있습니다.
접근성 선언문
쿼리 모니터는 모든 사용자가 완전히 액세스할 수 있도록 하는 것을 목표로 합니다. 쿼리 모니터의 전체 접근성 정책은 여기에서 확인할 수 있습니다.
스크린샷
FAQ
-
이 플러그인은 PHP 8에서 작동하나요?
-
예, 현재 활발하게 테스트 중이며 PHP 8.2까지 작동합니다.
-
누가 쿼리 모니터의 결과를 볼 수 있나요?
-
기본적으로 쿼리 모니터의 출력은 단일 사이트 설치의 경우 관리자에게만 표시되고, 멀티사이트 설치의 경우 슈퍼 관리자에게만 표시됩니다.
이 외에도 인증 쿠키를 설정하여 로그인하지 않았을 때 또는 일반적으로 쿼리 모니터의 출력을 볼 수 없는 사용자로 로그인한 경우에도 쿼리 모니터 출력을 볼 수 있도록 할 수 있습니다. 자세한 내용은 설정 패널을 참조하세요.
-
쿼리 모니터 자체가 페이지 생성 시간이나 메모리 사용량에 영향을 주나요?
-
짧은 답변입니다: 예, 하지만 조금만.
긴 답변입니다: 쿼리 모니터는 다른 플러그인과 같은 방식으로 워드프레스의 몇 군데에 연결되므로 페이지 생성 시간에 미치는 영향은 미미합니다. 영향은 무시해도 될 정도입니다.
데이터베이스 쿼리 수가 특히 많은(수백 개에 달하는) 페이지에서는 현재 쿼리 모니터가 원하는 것보다 더 많은 메모리를 사용합니다. 이는 각 쿼리에 대해 스택 추적에 캡처되는 데이터의 양이 많기 때문입니다. 저는 이 문제를 지속적으로 줄이기 위해 노력해 왔고 앞으로도 계속 노력할 것입니다.
-
장기 실행 요청 중에 쿼리 모니터가 데이터를 수집하지 못하도록 할 수 있나요?
-
예,
do_action( 'qm/cease' )
를 호출하여 쿼리 모니터가 나머지 페이지 생성 동안 작동을 중단하도록 지시할 수 있습니다. 그러면 쿼리 모니터는 더 이상의 데이터 수집을 중단하고 지금까지 수집한 데이터를 모두 삭제하며 정보 출력도 건너뜁니다.예를 들어 매우 많은 수의 데이터베이스 쿼리를 수행하거나, 많은 메모리를 사용하거나, 쿼리 모니터에 신경 쓰지 않아도 되는 장기 실행 작업에 유용합니다:
- 사이트 백업 또는 복원
- 많은 양의 데이터 가져오기 또는 내보내기
- 보안 검사 실행
-
쿼리 모니터용 애드온 플러그인이 있나요?
-
쿼리 모니터용 애드온 플러그인 목록은 여기에서 확인할 수 있습니다.
또한 쿼리 모니터는 디버그 바 플러그인용 애드온을 투명하게 지원합니다. 디버그 바 애드온이 설치되어 있는 경우 디버그 바를 비활성화하면 애드온이 쿼리 모니터의 메뉴에 표시됩니다.
-
새로운 기능을 제안하거나 버그를 신고하려면 어디로 문의하나요?
-
WordPress.org 지원 포럼보다는 쿼리 모니터의 GitHub 리포지토리에 있는 이슈 트래커를 사용하면 이슈를 더 쉽게 추적할 수 있으므로 이슈 트래커를 사용하세요.
-
Altis에서 쿼리 모니터를 사용할 수 있나요?
-
예, 알티스 개발자 도구는 쿼리 모니터 위에 구축되어 있습니다.
-
워드프레스 VIP에서 쿼리 모니터를 사용할 수 있나요?
-
예. 하지만 관리자인 경우에도 쿼리 모니터를 보려면 사용자에게
view_query_monitor
권한이 부여되어야 합니다. 자세한 내용은 워드프레스 VIP 문서를 참조하세요. -
여러 개의 `wpdb` 인스턴스를 사용하고 있습니다. 추가 인스턴스를 쿼리 모니터에 표시하려면 어떻게 해야 하나요?
-
이 기능은 거의 사용되지 않고 쿼리 모니터 자체의 유지 관리 부담이 상당히 증가하여 버전 3.12에서 제거되었습니다. 이 기능을 사용해야 하는 경우 버전 3.11을 계속 사용하세요.
-
스택 추적을 클릭하여 편집기에서 파일을 열 수 있나요?
-
예. 설정 패널에서 이 기능을 활성화할 수 있습니다.
-
보안 버그를 신고하려면 어떻게 해야 하나요?
-
패치스택의 공식 쿼리 모니터 취약점 공개 프로그램을 통해 보안 버그를 신고할 수 있습니다. Patchstack 팀은 보안 취약점을 검증, 분류 및 처리하는 데 도움을 드립니다.
-
기부를 받나요?
-
GitHub 스폰서 프로그램을 통해 후원을 받고 있습니다. 워드프레스로 개발하는 에이전시에서 일하는 경우 공급망에 투자하기 위해 회사에 스폰서십을 요청하세요. 제가 관리하는 도구를 사용하면 회사의 시간과 비용을 절약할 수 있으며 이제 조직 수준에서 GitHub 후원을 할 수 있습니다.
또한 플러그인이 마음에 드신다면 리뷰를 남겨주시면 감사하겠습니다. 모든 친구들에게도 알려주세요!
후기
기여자 & 개발자
변경이력
3.16.4 (25 July 2024)
- 워드프레스 6.6에 대한 지원을 확인합니다.
3.16.3 (22 May 2024)
- 잘못된 호출 및 더 이상 사용되지 않는 호출을 로깅할 때 무한 루프를 방지합니다.
- 쿼리 모니터.php에서 전역 제거
3.16.2 (22 May 2024)
- 일부 사이트를 충돌시키던 3.16.0 및 3.16.1의 PHP 자동 로더 관련 또 다른 문제 수정
3.16.1 (22 May 2024)
- 일부 사이트를 다운시키던 3.16.0의 PHP 자동 로더 관련 문제 수정
3.16.0 (22 April 2024)
- 워드프레스 6.5의 새로운 기능 디버깅에 대한 완전한 지원 추가: 자바스크립트 모듈 및 PHP 번역 파일
3.15.0 (10 November 2023)
qm/assert
액션을 통해 새로운 어설션 기능을 추가합니다.- 플러그인이 워드프레스 6.4까지 테스트되었는지 확인합니다.
3.14.1 (21 October 2023)
- 워드프레스 플레이그라운드와의 호환성 개선
3.14.0 (18 October 2023)
- 스크립트 및 스타일에 대한 URL을 표시할 때 포트 번호 처리를 수정합니다.
- 멀티사이트 네트워크 내 단일 사이트에서 쿼리 모니터를 활성화 및 비활성화할 때, 그리고
DISALLOW_FILE_MODS
가 사용 중일 때db.php
처리를 개선합니다. - 디버그 바 존재 확인 개선
- 드롭인 플러그인을 “기타” 대신 특정 구성 요소로 식별합니다.
- 쿼리를 로깅할 때 사용되는 일부 데이터 구조를 단순화합니다.
- 쿼리 모니터가 최대 3년 전의 워드프레스 버전을 지원하도록 지정합니다.
3.13.1 (15 July 2023)
- 부트스트랩 프로세스 초기에 더 이상 사용되지 않는 경고가 트리거되는 경우 치명적인 오류를 방지합니다.
- Curl이 사용 중이 아닐 때 특정 HTTP API 요청 중에 트리거될 수 있는 PHP 경고를 방지합니다.
- 플러그인 업데이트 프로세스 중 QM 로딩 건너뛰기
3.13.0 (9 July 2023)
- 잘못하기 및 더 이상 사용되지 않는 기능 사용을 위한 전용 패널을 추가합니다.
- HTTP API 요청 패널의 데이터를 호스트 이름별로 필터링할 수 있습니다.
- 작업과 필터를 모두 표시할 수 있는 후크 목록에 “유형” 열을 추가합니다.
- 편집기 설정의 다양한 측면 개선
- 지원되는 최소 PHP 버전이 7.4로 증가합니다.
- 이번 릴리즈의 새로운 기능 대부분을 제공한 @crstauf에게 많은 감사를 드립니다.
3.12.3 (17 May 2023)
- 구텐베르크 플러그인을 블록 테마와 함께 사용할 때 테마 템플릿 파트 데이터 수집이 개선되었습니다.
- 테마가 블록 템플릿을 지원하지 않는 경우 블록 템플릿 확인 시도를 건너뜁니다.
- 데이터베이스 쿼리 오류에 대해 오류를 무시해야 하는지 여부를 확인할 수 없으므로
$EZSQL_ERROR
로 폴백을 제거합니다.
3.12.2 (27 April 2023)
- PHP 오류 패널의 표 바닥글에 총 개수를 추가합니다.
- 사이트 편집기를 가리키는 링크의 대상 URL 개선
- 몇 가지 사소한 시각적 개선 사항 구현
- HTTP API 요청에 대한 전송에 대한 신뢰할 수 없는 정보를 제거합니다.
- 임시 로그인 모달에서 쿼리 모니터 출력을 제거합니다.
3.12.1 (24 March 2023)
- 쿼리 패널 및 하위 패널을 가리키는 일부 패널 간 링크를 수정합니다.
- 선택한 테이블 열 필터가 탭이나 세션에서 지속되지 않도록
세션 저장소
로 전환합니다. - 디버그 바 플러그인에서 상속된 패널 메뉴에서 “디버그 바:” 접두사를 제거합니다.
3.12.0 (16 March 2023)
- 블록 테마 또는 전체 사이트 편집(FSE)이 사용 중일 때 템플릿 패널의 정보를 명확히 하고 개선합니다.
- 타사 플러그인이 언어 파일 경로를 예기치 않게 변경하는 경우 PHP 경고를 피합니다.
- 몇 가지 사소한 성능 개선 구현
- 워드프레스 메모리 제한에 대한 오해의 소지가 있는 정보 제거
wpdb
의 여러 인스턴스에 대한 지원을 제거합니다(자세한 내용은 FAQ 참조).
3.11.2 (23 February 2023)
- 다양한 접근성 개선 사항 구현
- 모든 관리자 영역 바닥글 스크립트가 스크립트 패널에 표시되지 않던 문제 수정
- Performance Labs 플러그인의 SQLite 기능 사용 시 출력 개선
- 사용자 정의 관리자에서 QM 출력을 모두 제거합니다.
- QM을 비활성화할 때 다른 플러그인의
wp-content/db.php
가 제거되지 않도록 합니다.
Earlier versions
이전 버전의 변경 로그는 GitHub의 릴리스 페이지를 참조하세요.