본문 바로가기

배움의 즐거움/프로그래밍

(19) Graphql-ruby - 쿼리에 before/after hook 호출하기

반응형




Instrumentation


각 쿼리에 before/after hook을 호출할 수 있다.쿼리 instrumentation 를 스키마 정의에 추가하면 된다.

class MySchema < GraphQL::Schema
  instrument(:query, QueryTimerInstrumentation)
end


instrumenter은 반드시 #before_query(query)와 #after_query(query).를 구현해야 하며, 해당 메서드의 리턴 값은 사용되지 않았다. 이 메서드들은 GraphQL::Query의 인스턴스를 받았다.

module QueryTimerInstrumentation
  module_function

  # 해당 쿼리의 시간을 로그
  def before_query(query)
    Rails.logger.info("Query begin: #{Time.now.to_i}")
  end

  def after_query(query)
    Rails.logger.info("Query end: #{Time.now.to_i}")
  end
end



* 해당 글은 번역기 돌리다가 크롬 번역기 말도 안되는 해석에 지친 본인이 나중에 참고할 의도로 대충대충 발로 해석한 것이니 참고용으로만 사용하시길 바랍니다.

* 출처: http://graphql-ruby.org/queries/instrumentation.html


반응형

'배움의 즐거움 > 프로그래밍' 카테고리의 다른 글

(21) Graphql-ruby - 스칼라  (0) 2019.01.01
(20) Graphql-ruby - 객체  (0) 2019.01.01
(18) Graphql-ruby - tracing  (0) 2019.01.01
(17) Graphql-ruby - 멀티플렉스  (0) 2019.01.01
(16) Graphql-ruby - 타임아웃  (0) 2019.01.01