Load Tests
을 만들었습니다. 모든 부하 테스트는 하나의 단위 테스트로 구성됩니다. 또한 LoadTest Plug-in
을 생성하여 모든 부하 테스트에 할당했습니다. 각 단위 테스트는 다음 코드로 LoadTest 플러그 인 (자세한 내용은 here)에서 생성 한 일부 사용자 지정 성능 카운터를 업데이트합니다.성능 카운터를 원격 PC로 업데이트하는 방법은 무엇입니까?
의 PlugIn 코드 :
private void m_loadTest_LoadTestStarting(object sender, System.EventArgs e)
{
CounterCreationDataCollection counters = new CounterCreationDataCollection();
counters.Add(new CounterCreationData("CustomCoumter", "Custom Coumter description", PerformanceCounterType.AverageCount64));
PerformanceCounterCategory.Create("CustomCounterCategory", "Custom Performance Counters", PerformanceCounterCategoryType.MultiInstance, counters);
}
유닛 테스트 코드 : 플러그인이 Test Controller
에서 실행되기 때문에
[TestClass]
public class UnitTest1
{
PerformanceCounter customCounter;
[ClassInitialize]
public static void ClassInitialize(TestContext TestContext)
{
// Create the instances of the counters for the current test
customCounter= new PerformanceCounter("CustomCounterCategory", "CustomCoumter", "UnitTest1", false));
}
[TestMethod]
public void TestMethod1()
{
// ... Testing
customCounter.Incerement(time);
}
}
컨트롤러가 실행되는 경우 사용자 정의 카운터 범주는 PC에 생성됩니다 . 이제 Test Rig
에 내 부하 테스트를 실행하고 많은 Test Agents
을 사용하고 있습니다. 이 테스트 컨트롤러가 실행되는 곳 이외의 다른 PC에서 단위 테스트가 실행될 때 카운터는 업데이트되지 않습니다. 나는 내 코드가 있기 때문에 컨트롤러의 pc가 아닌 테스트가 실행중인 PC의 카운터를 업데이트하고 있기 때문에 이러한 문제가 발생한다고 생각합니다.
컨트롤러의 PC에서 내 사용자 정의 카운터를 업데이트하려면 어떻게해야합니까? 단위 테스트에서 카운터의 인스턴스를 다른 방식으로 만들어야합니까?
답장을 보내 주셔서 감사합니다. 가능하다면 원격 컴퓨터 (컨트롤러)의 카운터를 업데이트하여 카운터의 총 결과를 쉽게 볼 수 있기를 바랍니다. 그렇지 않으면 구현을 변경하고 모든 상담원의 카운터 인스턴스를 기반으로 총 결과를 자체적으로 계산해야합니다. – Schaliasos
@Schaliasos 예, 불행히도 저는 이것이 가능하다고 생각하지 않습니다 (최소한 C# API로). 그러나 원격으로 읽고 각 상담원의 수치를 집계 할 수 있습니다. –