Skip to content

Commit

Permalink
add test for getQuantileWindowLength and fix spelling (#120)
Browse files Browse the repository at this point in the history
  • Loading branch information
johrstrom committed Mar 14, 2023
1 parent 6109f9f commit 70b3893
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 9 deletions.
Expand Up @@ -127,13 +127,13 @@ public QuantileDefinition[] getQuantiles() {
}
}

public long getQuantileWindowLenght() {
public long getQuantileWindowLength() {
String quantiles = getQuantileOrBucket();

if (quantiles == null || quantiles.isEmpty()) {
return DEFAULT_QUANTILE_WINDOW_LENGHT;
} else {
return QuantileDefinition.parseQuantilesWindowLenghtFromString(quantiles);
return QuantileDefinition.parseQuantilesWindowLengthFromString(quantiles);
}
}

Expand Down Expand Up @@ -220,7 +220,7 @@ public static Summary newSummary(BaseCollectorConfig cfg) throws Exception {
io.prometheus.client.Summary.Builder builder = new Summary.Builder()
.name(cfg.getMetricName())
.help(cfg.getHelp())
.maxAgeSeconds(cfg.getQuantileWindowLenght());
.maxAgeSeconds(cfg.getQuantileWindowLength());

String[] labels = cfg.getLabels();
if(labels.length != 0) {
Expand Down Expand Up @@ -370,7 +370,7 @@ public static class QuantileDefinition {
public static final String QUANTILE_ERROR_SEPERATOR = ",";
public static final String QUANTILE_DEFINITION_SEPERATOR = "|";
public static final String QUANTILE_DEFINITION_SEPERATOR_REGEX = "\\|";
public static final String QUANTILE_LENGHT_SEPERATOR_REGEX = "\\;";
public static final String QUANTILE_LENGTH_SEPERATOR_REGEX = "\\;";

QuantileDefinition(double quantile, double error) {
this.quantile = quantile;
Expand Down Expand Up @@ -421,7 +421,7 @@ public static String arrayToString(QuantileDefinition[] definitions) {
}

public static QuantileDefinition[] parseQuantilesFromString(String fullQuantileString) {
String quantileOnlyString = fullQuantileString.split(QUANTILE_LENGHT_SEPERATOR_REGEX)[0];
String quantileOnlyString = fullQuantileString.split(QUANTILE_LENGTH_SEPERATOR_REGEX)[0];
String[] quantileDefStrings = quantileOnlyString.split(QUANTILE_DEFINITION_SEPERATOR_REGEX);
List<QuantileDefinition> quantiles = new ArrayList<QuantileDefinition>();

Expand All @@ -444,8 +444,8 @@ public static QuantileDefinition[] parseQuantilesFromString(String fullQuantileS
}


public static long parseQuantilesWindowLenghtFromString(String fullQuantileString) {
String[] quantileDefStrings = fullQuantileString.split(QUANTILE_LENGHT_SEPERATOR_REGEX);
public static long parseQuantilesWindowLengthFromString(String fullQuantileString) {
String[] quantileDefStrings = fullQuantileString.split(QUANTILE_LENGTH_SEPERATOR_REGEX);
if (quantileDefStrings.length < 2) {
log.debug("Using default quantile window lenght of " + DEFAULT_QUANTILE_WINDOW_LENGHT + " seconds");
return DEFAULT_QUANTILE_WINDOW_LENGHT;
Expand Down
Expand Up @@ -63,6 +63,24 @@ public void parseMultipleQuantilesCorrectly() {
Assert.assertEquals(0.999, quantiles[2].quantile,0.001);
Assert.assertEquals(0.1, quantiles[2].error,0.001);
}

@Test
public void parseMultipleQuantilesWithWindowCorrectly() {
BaseCollectorConfig cfg = TestUtilities.simpleSummaryCfg();
cfg.setQuantileOrBucket("0.95,0.1|0.99,0.1|0.999,0.1;60");


QuantileDefinition[] quantiles = cfg.getQuantiles();
Assert.assertEquals(3, quantiles.length);
Assert.assertEquals(0.95, quantiles[0].quantile,0.001);
Assert.assertEquals(0.1, quantiles[0].error,0.001);
Assert.assertEquals(0.99, quantiles[1].quantile,0.001);
Assert.assertEquals(0.1, quantiles[1].error,0.001);
Assert.assertEquals(0.999, quantiles[2].quantile,0.001);
Assert.assertEquals(0.1, quantiles[2].error,0.001);

Assert.assertEquals(60, cfg.getQuantileWindowLength());
}

@Test
public void parseQauntileFailsAndGivesDEFAULTs() {
Expand Down Expand Up @@ -96,7 +114,6 @@ public void parseReturnsPartialForQuantiles() {
Assert.assertEquals(0.1, quantiles[0].error,0.001);
Assert.assertEquals(0.75, quantiles[1].quantile,0.001);
Assert.assertEquals(0.1, quantiles[1].error,0.001);

}

@Test
Expand Down Expand Up @@ -192,5 +209,4 @@ public void setOfElementsTest() {

Assert.assertEquals(leftHash, rightHash);
}

}

0 comments on commit 70b3893

Please sign in to comment.