public static Condition apdexCondition(String applicationName) { return ApmAppCondition.builder() .conditionName("Apdex") .enabled(true) .application(applicationName) .metric(ApmAppCondition.Metric.APDEX) .conditionScope(ApmAppCondition.ConditionScope.APPLICATION) // Raise critical if in the last 5 minutes apdex was below 0.7 .term(TermsConfiguration.builder() .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.BELOW) .priorityTerm(PriorityTerm.CRITICAL) .timeFunctionTerm(TimeFunctionTerm.ALL) .thresholdTerm(0.7f) .build() ) // Raise warning if in the last 5 minutes apdex was below 0.85 .term(TermsConfiguration.builder() .durationTerm(DurationTerm.DURATION_5) .operatorTerm(OperatorTerm.BELOW) .priorityTerm(PriorityTerm.WARNING) .timeFunctionTerm(TimeFunctionTerm.ALL) .thresholdTerm(0.85f) .build() ) .build(); }
@Test public void shouldThrowException_whenConditionScopeInstanceButViolationCloseTimerIsNotSet() throws Exception { // given // then - exception expectedException.expect(NullPointerException.class); expectedException.expectMessage("violationCloseTimer"); // when ApmAppCondition.builder() .conditionName("condition name") .enabled(ENABLED) .application(APPLICATION_NAME) .metric(APP_METRIC) .conditionScope(ApmAppCondition.ConditionScope.INSTANCE) .term(TERMS_CONFIGURATION) .build(); }
static ApmAppCondition createAppCondition(String conditionName) { return ApmAppCondition.builder() .conditionName(conditionName) .enabled(ENABLED) .application(APPLICATION_NAME) .metric(APP_METRIC) .conditionScope(CONDITION_SCOPE) .violationCloseTimer(VIOLATION_CLOSE_TIMER) .term(TERMS_CONFIGURATION) .build(); } }
private static ApmAppCondition createAppCondition(String conditionName) { return ApmAppCondition.builder() .conditionName(conditionName) .enabled(ENABLED) .application(APPLICATION_NAME) .metric(ApmAppCondition.Metric.USER_DEFINED) .conditionScope(CONDITION_SCOPE) .term(TERMS_CONFIGURATION) .userDefinedConfiguration(USER_DEFINED_CONFIGURATION) .build(); }