diff --git a/span-processing-config-service-api/src/main/proto/org/hypertrace/span/processing/config/service/v1/span_processing_config_service.proto b/span-processing-config-service-api/src/main/proto/org/hypertrace/span/processing/config/service/v1/span_processing_config_service.proto index b27060dd..e11132e1 100644 --- a/span-processing-config-service-api/src/main/proto/org/hypertrace/span/processing/config/service/v1/span_processing_config_service.proto +++ b/span-processing-config-service-api/src/main/proto/org/hypertrace/span/processing/config/service/v1/span_processing_config_service.proto @@ -57,6 +57,7 @@ message ExcludeSpanRuleDetails { message ExcludeSpanRuleInfo { string name = 1; SpanFilter filter = 2; + bool disabled = 3; } message ExcludeSpanRuleMetadata { @@ -68,6 +69,7 @@ message UpdateExcludeSpanRule { string id = 1; string name = 2; SpanFilter filter = 3; + bool disabled = 4; } message SpanFilter { diff --git a/span-processing-config-service-impl/src/main/java/org/hypertrace/span/processing/config/service/SpanProcessingConfigServiceImpl.java b/span-processing-config-service-impl/src/main/java/org/hypertrace/span/processing/config/service/SpanProcessingConfigServiceImpl.java index f8e99e7d..e310c414 100644 --- a/span-processing-config-service-impl/src/main/java/org/hypertrace/span/processing/config/service/SpanProcessingConfigServiceImpl.java +++ b/span-processing-config-service-impl/src/main/java/org/hypertrace/span/processing/config/service/SpanProcessingConfigServiceImpl.java @@ -144,6 +144,7 @@ private ExcludeSpanRule buildUpdatedRule( ExcludeSpanRuleInfo.newBuilder() .setName(updateExcludeSpanRule.getName()) .setFilter(updateExcludeSpanRule.getFilter()) + .setDisabled(updateExcludeSpanRule.getDisabled()) .build()) .build(); } diff --git a/span-processing-config-service-impl/src/test/java/org/hypertrace/span/processing/config/service/SpanProcessingConfigServiceImplTest.java b/span-processing-config-service-impl/src/test/java/org/hypertrace/span/processing/config/service/SpanProcessingConfigServiceImplTest.java index a97617db..aa18bf9f 100644 --- a/span-processing-config-service-impl/src/test/java/org/hypertrace/span/processing/config/service/SpanProcessingConfigServiceImplTest.java +++ b/span-processing-config-service-impl/src/test/java/org/hypertrace/span/processing/config/service/SpanProcessingConfigServiceImplTest.java @@ -1,6 +1,7 @@ package org.hypertrace.span.processing.config.service; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; @@ -81,6 +82,7 @@ void testCrud() { .setRuleInfo( ExcludeSpanRuleInfo.newBuilder() .setName("ruleName1") + .setDisabled(true) .setFilter( SpanFilter.newBuilder() .setRelationalSpanFilter( @@ -107,6 +109,7 @@ void testCrud() { .setRuleInfo( ExcludeSpanRuleInfo.newBuilder() .setName("ruleName2") + .setDisabled(true) .setFilter( SpanFilter.newBuilder() .setRelationalSpanFilter( @@ -139,6 +142,7 @@ void testCrud() { UpdateExcludeSpanRule.newBuilder() .setId(firstCreatedExcludeSpanRule.getId()) .setName("updatedRuleName1") + .setDisabled(false) .setFilter( SpanFilter.newBuilder() .setRelationalSpanFilter( @@ -152,6 +156,7 @@ void testCrud() { .getRuleDetails() .getRule(); assertEquals("updatedRuleName1", updatedFirstExcludeSpanRule.getRuleInfo().getName()); + assertFalse(updatedFirstExcludeSpanRule.getRuleInfo().getDisabled()); excludeSpanRules = this.spanProcessingConfigServiceStub diff --git a/span-processing-config-service-impl/src/test/java/org/hypertrace/span/processing/config/service/validation/SpanProcessingRequestValidatorTest.java b/span-processing-config-service-impl/src/test/java/org/hypertrace/span/processing/config/service/validation/SpanProcessingRequestValidatorTest.java index 1343b4dd..03f572f5 100644 --- a/span-processing-config-service-impl/src/test/java/org/hypertrace/span/processing/config/service/validation/SpanProcessingRequestValidatorTest.java +++ b/span-processing-config-service-impl/src/test/java/org/hypertrace/span/processing/config/service/validation/SpanProcessingRequestValidatorTest.java @@ -82,15 +82,6 @@ void validatesCreateRequest() { mockRequestContext, CreateExcludeSpanRuleRequest.newBuilder().build())); when(mockRequestContext.getTenantId()).thenReturn(Optional.of(TEST_TENANT_ID)); - assertInvalidArgStatusContaining( - "ExcludeSpanRuleInfo", - () -> - validator.validateOrThrow( - mockRequestContext, - CreateExcludeSpanRuleRequest.newBuilder() - .setRuleInfo(ExcludeSpanRuleInfo.newBuilder().build()) - .build())); - assertInvalidArgStatusContaining( "ExcludeSpanRuleInfo.name", () -> @@ -108,6 +99,7 @@ void validatesCreateRequest() { .setRuleInfo( ExcludeSpanRuleInfo.newBuilder() .setName("name") + .setDisabled(true) .setFilter( SpanFilter.newBuilder() .setRelationalSpanFilter(