private void addScopeFilter(CanaryScope canaryScope, StringBuilder sb) { String scope = canaryScope.getScope(); if (scope != null) { String[] scopeParts = validateAndExtractScope(scope); sb.append(" AND "); sb.append(scopeParts[0] + "='" + scopeParts[1] +"'"); } }
@Override public String buildQuery(String metricsAccountName, CanaryConfig canaryConfig, CanaryMetricConfig canaryMetricConfig, CanaryScope canaryScope) throws IOException { GraphiteCanaryMetricSetQueryConfig queryConfig = (GraphiteCanaryMetricSetQueryConfig) canaryMetricConfig.getQuery(); String query = queryConfig.getMetricName(); if (!Strings.isNullOrEmpty(canaryScope.getScope())) { query = query.replace(SCOPE_VARIABLE, canaryScope.getScope()); } if (!Strings.isNullOrEmpty(canaryScope.getLocation())) { query = query.replace(LOCATION_VARIABLE, canaryScope.getLocation()); } log.debug("Query sent to graphite: {}.", query); return query; }
@Override public String buildQuery(String metricsAccountName, CanaryConfig canaryConfig, CanaryMetricConfig canaryMetricConfig, CanaryScope canaryScope) { DatadogCanaryMetricSetQueryConfig queryConfig = (DatadogCanaryMetricSetQueryConfig)canaryMetricConfig.getQuery(); return queryConfig.getMetricName() + "{" + canaryScope.getScope() + "}"; }
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope) { Map<String, String> extendedParameters = Optional.ofNullable(canaryScope.getExtendedScopeParams()) .orElseThrow(() -> new IllegalArgumentException("New Relic requires extended parameters")); NewRelicCanaryScope newRelicCanaryScope = new NewRelicCanaryScope(); newRelicCanaryScope.setScope(canaryScope.getScope()); newRelicCanaryScope.setStart(canaryScope.getStart()); newRelicCanaryScope.setEnd(canaryScope.getEnd()); newRelicCanaryScope.setStep(canaryScope.getStep()); newRelicCanaryScope.setExtendedScopeParams(extendedParameters); newRelicCanaryScope.setScopeKey(getRequiredExtendedParam(SCOPE_KEY_KEY, extendedParameters)); return newRelicCanaryScope; }
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope) { SignalFxCanaryScope signalFxCanaryScope = new SignalFxCanaryScope(); signalFxCanaryScope.setScope(canaryScope.getScope()); signalFxCanaryScope.setLocation(canaryScope.getLocation()); signalFxCanaryScope.setStart(canaryScope.getStart()); signalFxCanaryScope.setEnd(canaryScope.getEnd()); signalFxCanaryScope.setStep(canaryScope.getStep()); Optional.ofNullable(canaryScope.getExtendedScopeParams()).ifPresent(extendedParameters -> { signalFxCanaryScope.setScopeKey(extendedParameters.getOrDefault(SCOPE_KEY_KEY, null)); signalFxCanaryScope.setLocationKey(extendedParameters.getOrDefault(LOCATION_KEY_KEY, null)); signalFxCanaryScope.setExtendedScopeParams(extendedParameters); }); return signalFxCanaryScope; } }
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope){ StackdriverCanaryScope stackdriverCanaryScope = new StackdriverCanaryScope(); stackdriverCanaryScope.setScope(canaryScope.getScope()); stackdriverCanaryScope.setLocation(canaryScope.getLocation()); stackdriverCanaryScope.setStart(canaryScope.getStart());
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope){ AtlasCanaryScope atlasCanaryScope = new AtlasCanaryScope(); atlasCanaryScope.setScope(canaryScope.getScope()); atlasCanaryScope.setLocation(canaryScope.getLocation()); atlasCanaryScope.setStart(canaryScope.getStart()); atlasCanaryScope.setEnd(canaryScope.getEnd()); atlasCanaryScope.setStep(canaryScope.getStep()); atlasCanaryScope.setExtendedScopeParams(canaryScope.getExtendedScopeParams()); Map<String, String> extendedScopeParams = atlasCanaryScope.getExtendedScopeParams(); if (extendedScopeParams == null) { extendedScopeParams = Collections.emptyMap(); } atlasCanaryScope.setType(extendedScopeParams.getOrDefault("type", "cluster")); atlasCanaryScope.setDeployment(extendedScopeParams.getOrDefault("deployment", "main")); atlasCanaryScope.setDataset(extendedScopeParams.getOrDefault("dataset", "regional")); atlasCanaryScope.setEnvironment(extendedScopeParams.getOrDefault("environment", "test")); return atlasCanaryScope; } }
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope){ PrometheusCanaryScope prometheusCanaryScope = new PrometheusCanaryScope(); prometheusCanaryScope.setScope(canaryScope.getScope()); prometheusCanaryScope.setLocation(canaryScope.getLocation()); prometheusCanaryScope.setStart(canaryScope.getStart()); prometheusCanaryScope.setEnd(canaryScope.getEnd()); prometheusCanaryScope.setStep(canaryScope.getStep()); prometheusCanaryScope.setExtendedScopeParams(canaryScope.getExtendedScopeParams()); Map<String, String> extendedScopeParams = prometheusCanaryScope.getExtendedScopeParams(); if (extendedScopeParams != null) { if (extendedScopeParams.containsKey("project")) { prometheusCanaryScope.setProject(extendedScopeParams.get("project")); } if (extendedScopeParams.containsKey("resourceType")) { prometheusCanaryScope.setResourceType(extendedScopeParams.get("resourceType")); } } return prometheusCanaryScope; } }
private void addScopeFilter(CanaryScope canaryScope, StringBuilder sb) { String scope = canaryScope.getScope(); if (scope != null) { String[] scopeParts = validateAndExtractScope(scope); sb.append(" AND "); sb.append(scopeParts[0] + "='" + scopeParts[1] +"'"); } }
@Override public String buildQuery(String metricsAccountName, CanaryConfig canaryConfig, CanaryMetricConfig canaryMetricConfig, CanaryScope canaryScope) { WavefrontCanaryMetricSetQueryConfig queryConfig = (WavefrontCanaryMetricSetQueryConfig)canaryMetricConfig.getQuery(); String query = queryConfig.getMetricName(); if (canaryScope.getScope() != null && !canaryScope.getScope().equals("")) { query = query + ", " + canaryScope.getScope(); } query = "ts(" + query + ")"; if (queryConfig.getAggregate() != null && !queryConfig.getAggregate().equals("")) { query = queryConfig.getAggregate() + "(" + query + ")"; } return query; }
@Override public String buildQuery(String metricsAccountName, CanaryConfig canaryConfig, CanaryMetricConfig canaryMetricConfig, CanaryScope canaryScope) throws IOException { GraphiteCanaryMetricSetQueryConfig queryConfig = (GraphiteCanaryMetricSetQueryConfig) canaryMetricConfig.getQuery(); String query = queryConfig.getMetricName(); if (!Strings.isNullOrEmpty(canaryScope.getScope())) { query = query.replace(SCOPE_VARIABLE, canaryScope.getScope()); } if (!Strings.isNullOrEmpty(canaryScope.getLocation())) { query = query.replace(LOCATION_VARIABLE, canaryScope.getLocation()); } log.debug("Query sent to graphite: {}.", query); return query; }
@Override public String buildQuery(String metricsAccountName, CanaryConfig canaryConfig, CanaryMetricConfig canaryMetricConfig, CanaryScope canaryScope) { DatadogCanaryMetricSetQueryConfig queryConfig = (DatadogCanaryMetricSetQueryConfig)canaryMetricConfig.getQuery(); return queryConfig.getMetricName() + "{" + canaryScope.getScope() + "}"; }
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope) { Map<String, String> extendedParameters = Optional.ofNullable(canaryScope.getExtendedScopeParams()) .orElseThrow(() -> new IllegalArgumentException("New Relic requires extended parameters")); NewRelicCanaryScope newRelicCanaryScope = new NewRelicCanaryScope(); newRelicCanaryScope.setScope(canaryScope.getScope()); newRelicCanaryScope.setStart(canaryScope.getStart()); newRelicCanaryScope.setEnd(canaryScope.getEnd()); newRelicCanaryScope.setStep(canaryScope.getStep()); newRelicCanaryScope.setExtendedScopeParams(extendedParameters); newRelicCanaryScope.setScopeKey(getRequiredExtendedParam(SCOPE_KEY_KEY, extendedParameters)); return newRelicCanaryScope; }
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope) { SignalFxCanaryScope signalFxCanaryScope = new SignalFxCanaryScope(); signalFxCanaryScope.setScope(canaryScope.getScope()); signalFxCanaryScope.setLocation(canaryScope.getLocation()); signalFxCanaryScope.setStart(canaryScope.getStart()); signalFxCanaryScope.setEnd(canaryScope.getEnd()); signalFxCanaryScope.setStep(canaryScope.getStep()); Optional.ofNullable(canaryScope.getExtendedScopeParams()).ifPresent(extendedParameters -> { signalFxCanaryScope.setScopeKey(extendedParameters.getOrDefault(SCOPE_KEY_KEY, null)); signalFxCanaryScope.setLocationKey(extendedParameters.getOrDefault(LOCATION_KEY_KEY, null)); signalFxCanaryScope.setExtendedScopeParams(extendedParameters); }); return signalFxCanaryScope; } }
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope){ StackdriverCanaryScope stackdriverCanaryScope = new StackdriverCanaryScope(); stackdriverCanaryScope.setScope(canaryScope.getScope()); stackdriverCanaryScope.setLocation(canaryScope.getLocation()); stackdriverCanaryScope.setStart(canaryScope.getStart());
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope){ PrometheusCanaryScope prometheusCanaryScope = new PrometheusCanaryScope(); prometheusCanaryScope.setScope(canaryScope.getScope()); prometheusCanaryScope.setLocation(canaryScope.getLocation()); prometheusCanaryScope.setStart(canaryScope.getStart()); prometheusCanaryScope.setEnd(canaryScope.getEnd()); prometheusCanaryScope.setStep(canaryScope.getStep()); prometheusCanaryScope.setExtendedScopeParams(canaryScope.getExtendedScopeParams()); Map<String, String> extendedScopeParams = prometheusCanaryScope.getExtendedScopeParams(); if (extendedScopeParams != null) { if (extendedScopeParams.containsKey("project")) { prometheusCanaryScope.setProject(extendedScopeParams.get("project")); } if (extendedScopeParams.containsKey("resourceType")) { prometheusCanaryScope.setResourceType(extendedScopeParams.get("resourceType")); } } return prometheusCanaryScope; } }
@Override public CanaryScope buildCanaryScope(CanaryScope canaryScope){ AtlasCanaryScope atlasCanaryScope = new AtlasCanaryScope(); atlasCanaryScope.setScope(canaryScope.getScope()); atlasCanaryScope.setLocation(canaryScope.getLocation()); atlasCanaryScope.setStart(canaryScope.getStart()); atlasCanaryScope.setEnd(canaryScope.getEnd()); atlasCanaryScope.setStep(canaryScope.getStep()); atlasCanaryScope.setExtendedScopeParams(canaryScope.getExtendedScopeParams()); Map<String, String> extendedScopeParams = atlasCanaryScope.getExtendedScopeParams(); if (extendedScopeParams == null) { extendedScopeParams = Collections.emptyMap(); } atlasCanaryScope.setType(extendedScopeParams.getOrDefault("type", "cluster")); atlasCanaryScope.setDeployment(extendedScopeParams.getOrDefault("deployment", "main")); atlasCanaryScope.setDataset(extendedScopeParams.getOrDefault("dataset", "regional")); atlasCanaryScope.setEnvironment(extendedScopeParams.getOrDefault("environment", "test")); return atlasCanaryScope; } }
@Override public CanaryScope buildCanaryScope(CanaryScope scope) { WavefrontCanaryScope wavefrontCanaryScope = new WavefrontCanaryScope(); wavefrontCanaryScope.setScope(scope.getScope()); wavefrontCanaryScope.setLocation(scope.getLocation()); wavefrontCanaryScope.setStart(scope.getStart()); wavefrontCanaryScope.setEnd(scope.getEnd()); wavefrontCanaryScope.setStep(scope.getStep()); wavefrontCanaryScope.setGranularity(generateGranularity(scope.getStep())); wavefrontCanaryScope.setExtendedScopeParams(scope.getExtendedScopeParams()); return wavefrontCanaryScope; }