성능 테스트 레코딩 대상(httpRequest,Method) 차이에 대한 문의..

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

성능 테스트 레코딩 대상(httpRequest,Method) 차이에 대한 문의..

jeehong.lee
This post was updated on .
관련된 이전 내용 - http://ngrinder.642.n7.nabble.com/HTTPRequest-beforeProcess-td1441.html

성능 테스트 레코딩을 httpRequest단위와 Method단위 크게 두가지를 할 수 있는 것으로 어렴풋이 알고 있습니다.
Method 단위로 레코딩 하려면 아래와 같은 코드가 항상 코드에 포함되어야 하는데요..

1. 필터 추가
static class MethodNameFilter extends InstrumentationFilter {
                def name
                MethodNameFilter(name) {
                        this.name = name
                }
                boolean matches(Object item) {
                        item.name == name
                }
        }

2. 레코딩 대상 지정
test = new GTest(1,"commentRead")
test.record(this, "commentRead"); // 레코딩 메서드의 실제 이름과 동일해야 함.

3. 문의 사항
A) 레코딩 대상을 httpRequest할때와 method 할때 어떤 차이가 있는지..
B) 1) filter 코드는 어떤식으로 호출되어 사용되는지..

그럼. 도움 말씀 부탁 드립니다.
Reply | Threaded
Open this post in threaded view
|

Re: 성능 테스트 레코딩 대상(httpRequest,Method) 차이에 대한 문의..

junoyoon
Administrator
하나 하나에 대해 알려드리겠습니다.

Groovy의 경우 필터 추가는 필요하지 않습니다. 원래 Grinder 는 Test 라는 클래스를 사용하여 선택적으로 메소드를 레코딩할 수 있도록 되어 있습니다. 이 경우  test.record(this, new MethodNameFilter() { }) 와 같이 필터를 직접 처리하도록 되어 있습니다. 그러나 Groovy 버전의 경우, GTest 는 이와 같은 로직을 이미 구현하고 있어, test.record(this, "commentRead"); 라고 하시는 순가 commentRead 라는 함수를 필터링 하는 로직이 동작하고 있닥호 보시면 되겠습니다.

잘못 알고 계신 내용중 하나가 레코딩을 httpRequest 단위와 method 단위로 한다는 것인데요. 그게 아니라, 레코딩은 인스턴스 단위와 메모드 단위로 구분됩니다.

예를 들어
test.record(this);
라고 할 경우, this 객체의 모든 메소드가 호출될 때마다 레코딩 되는 거구..

test.record(this, "helloWorld");
라고 할 경우, this 객체의 helloWorld 메소드가 호출될 때마다 레코딩 되는 겁니다.
Reply | Threaded
Open this post in threaded view
|

Re: 성능 테스트 레코딩 대상(httpRequest,Method) 차이에 대한 문의..

jeehong.lee
답변 감사합니다.