에 대한 SQL 쿼리를 인스트루먼트에 대한 패치는 그래서 우리는 몇 가지가 sequel를 사용 railsactiverecord 다른 사람을 사용하여, 대부분 루비, 응용 프로그램 제품군에서 MySQL의 슬로우 쿼리 로그를 가지고있다. 특정 (MySQL)의 느린 쿼리를 생성 한 코드로 쉽게 추적 할 수 있기를 바랍니다. 이러한 도구에서 사용할 수있는 기능이나 적용 할 수있는 패치가 있습니까? FILE 및 FUNCTION 식별자와 같은 것입니다.도구 또는 루비 속편 또는 ORM 느린 쿼리 로그 분석
3
A
답변
2
흥미로운 질문은 여기에 당신이하고있는 것처럼 소리 나는
이내가 automatically explain slow queries에 config.active_record.auto_explain_threshold_in_seconds
를 사용합니다 ... 그것을 처리 할 방법입니다 .
그런 다음 방법을 ActiveRecord::Explain
에서 무시하고 관련 데이터를 로그에 추가합니다. 여기에 현재의 스택 트레이스를 추가하는 예입니다
# /config/initializers/add_additional_instumentation_to_explain.rb
module ActiveRecord
module Explain
def logging_query_plan # :nodoc:
return yield unless logger
threshold = auto_explain_threshold_in_seconds
current = Thread.current
if threshold && current[:available_queries_for_explain].nil?
begin
queries = current[:available_queries_for_explain] = []
start = Time.now
result = yield
if Time.now - start > threshold
# START ADDING ADDITIONAL INFORMATION
begin
puts 'ADDING ADDITIONAL INFORMATION...'
raise 'foo'
rescue
puts 'DISPLAYING THE CURRENT STACKTRACE FOR THE FOLLOWING EXPLAIN'
puts [email protected]
end
logger.warn(exec_explain(queries))
end
result
ensure
current[:available_queries_for_explain] = nil
end
else
yield
end
end
end
end
나는 레일에서 전체 수정 방법에 의존하지 않는 방법을 선호는, 그러나 이것은 내가 안정적으로 작동시킬 수있는 유일한 방법입니다.
가치있는 일이라면, 각 레일 버전에 대한 새로운 기능과 함께 보석으로 스핀하기가 매우 쉽습니다. 앱마다 버전과 관련된 보석을 포함시켜야합니다. 여러 버전의 레일을 지원합니다. 이것은 상기 접근법의 취성의 일부를 최소화하는 역할을한다. 어쨌든, 이것이 도움이되기를 바랍니다 - 행운을 빌어 요!
0
Rails (또는 다른 랙 기반) 앱이 어떻게 시간을 보내고 있는지 빠르게 이해할 수 있도록 랙 미니 프로파일 러를 강력히 추천합니다. 어떤 Ruby 코드가 어떤 SQL 문을 생성했는지 보여주는 데 특히 좋습니다. 잘 사용하는 방법을 배우려면 아래의 세 링크를 모두 방문하십시오. 행운을 빕니다.
http://railscasts.com/episodes/368-miniprofiler
http://samsaffron.com/archive/2012/07/12/miniprofiler-ruby-edition
관련 문제
- 1. 예외 로그 분석 도구 또는 기법
- 2. MySQL에서 느린 쿼리 로그
- 3. MySQL의 느린 쿼리 로그
- 4. 분석 도구, 큐브 또는 흑연
- 5. MySQL의 느린 쿼리 로그 - 느린 속도는 어떻습니까?
- 6. postgres daily 쿼리 분석 도구
- 7. XML과 유사한 로그 파일 구문 분석 도구
- 8. MySQL에서 느린 쿼리 로그 잘림
- 9. 루비 용 C1 또는 C2 커버리지 도구
- 10. MySQL의 느린 쿼리 로그 로깅 빠른 쿼리
- 11. 쿼리 분석 도구
- 12. 실시간 로그 분석 스칼라 또는 Java 솔루션
- 13. 루비 비트 또는 여기
- 14. MYSQL "느린 쿼리 로그"에서 느린 쿼리 -하지만 동일한 쿼리가 수동으로 매우 빠르게 실행됩니다.
- 15. 최고의 Oracle SQL 쿼리 분석 도구
- 16. PHP M 또는 F (남성 또는 여성)
- 17. TortoiseGit - 느린 로그 수정 표시 쿼리
- 18. 로그 : log4j 또는 lucene?
- 19. Percona pt-query-digest를 사용하여 특정 데이터베이스에 대한 느린 쿼리 로그 만 분석
- 20. 최고의 오징어 로그 파일 분석 도구
- 21. 문제 해결을위한 IIS 웹 로그 분석 도구
- 22. 는 속편
- 23. 액세스 로그 구문 분석
- 24. 속편 (LoadError)
- 25. 트리거 경고 또는 루비
- 26. 루비 self.class.class_eval 또는
- 27. html이 올바른지 확인하는 루비 도구 또는 JavaScript 라이브러리가 있습니까?
- 28. PHP를 통해 MySQL의 느린 쿼리 로그 위치 가져 오기
- 29. 루비 : 느린 평가
- 30. 그룹 또는 개인에 대한 Google 웹 로그 분석 추적